name: Build & Test on: [push, pull_request] jobs: Ubuntu-1604: runs-on: ubuntu-16.04 steps: - uses: actions/checkout@v1 - name: apt run: sudo apt install ruby gperf - name: build and test run: rake -m -j4 all test env: MRUBY_CONFIG: travis_config.rb Ubuntu-1804-gcc: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v1 - name: apt run: sudo apt install ruby gperf gcc g++ - name: build and test run: rake -m -j4 all test env: MRUBY_CONFIG: travis_config.rb CC: gcc CXX: g++ Ubuntu-1804-clang: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v1 - name: apt run: sudo apt install ruby gperf - name: build and test run: rake -m -j4 all test env: MRUBY_CONFIG: travis_config.rb CC: clang CXX: clang++ macOS: runs-on: macos-latest steps: - uses: actions/checkout@v1 - name: brew run: brew install ruby gperf - name: build and test run: rake -m -j4 all test env: MRUBY_CONFIG: travis_config.rb Windows-MinGW: runs-on: windows-latest steps: - uses: actions/checkout@v1 - name: chocolatey run: choco install -y ruby gperf - name: build and test run: rake -E '$stdout.sync=true' -j4 test env: MRUBY_CONFIG: travis_config.rb CFLAGS: -g -O1 -Wall -Wundef Windows-Cygwin: runs-on: windows-latest steps: - uses: actions/checkout@v1 - uses: actions/cache@v1 with: path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey key: ${{ runner.os }}-cygwin-chocolatey-${{ matrix.os }}-${{ github.sha }} restore-keys: | ${{ runner.os }}-cygwin-chocolatey-${{ matrix.os }}- ${{ runner.os }}-cygwin-chocolatey- - name: chocolatey run: choco install -y cygwin - name: Install cygwin packages shell: cmd run: C:\tools\cygwin\cygwinsetup.exe -qgnNdO -R C:/tools/cygwin -l C:/tools/cygwin/package -s http://mirrors.kernel.org/sourceware/cygwin/ -P gcc-core,gcc-g++,make,gperf,ruby - name: Set ENV run: | echo '::set-env name=PATH::C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin' - name: build and test shell: cmd run: C:\tools\cygwin\bin\ruby.exe /usr/bin/rake -m -j4 -E 'STDOUT.sync=true' test env: MRUBY_CONFIG: travis_config.rb Windows-VC: runs-on: windows-latest steps: - uses: actions/checkout@v1 - name: chocolatey run: choco install -y ruby gperf - name: build and test shell: cmd run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" rake -E "STDOUT.sync=true" -m -j4 test env: MRUBY_CONFIG: appveyor_config.rb # TODO(take-cheeze): Re-enable /O2 CFLAGS: "/c /nologo /W3 /we4013 /Zi /MD /D_CRT_SECURE_NO_WARNINGS" CXXFLAGS: "/c /nologo /W3 /Zi /MD /EHs /D_CRT_SECURE_NO_WARNINGS"