name: Build & Test on: [push, pull_request] jobs: Ubuntu-1604: runs-on: ubuntu-16.04 env: MRUBY_CONFIG: travis_config.rb steps: - uses: actions/checkout@v1 - name: apt run: sudo apt install ruby gperf - name: build run: rake -m - name: test run: rake test Ubuntu-1804-gcc: runs-on: ubuntu-18.04 env: MRUBY_CONFIG: travis_config.rb CC: gcc CXX: g++ steps: - uses: actions/checkout@v1 - name: apt run: sudo apt install ruby gperf gcc g++ - name: build run: rake -m - name: test run: rake test Ubuntu-1804-clang: runs-on: ubuntu-18.04 env: MRUBY_CONFIG: travis_config.rb CC: clang CXX: clang++ steps: - uses: actions/checkout@v1 - name: apt run: sudo apt install ruby gperf - name: build run: rake -m - name: test run: rake test macOS: runs-on: macos-latest env: MRUBY_CONFIG: travis_config.rb steps: - uses: actions/checkout@v1 - name: brew run: brew install ruby gperf - name: build run: rake -m - name: test run: rake test Windows-MinGW: runs-on: windows-latest steps: - uses: actions/checkout@v1 - name: chocolatey run: choco install -y ruby gperf - name: build run: rake -E 'STDOUT.sync=true' 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 shell: cmd run: C:\tools\cygwin\bin\ruby.exe /usr/bin/rake -E 'STDOUT.sync=true' -m env: MRUBY_CONFIG: travis_config.rb - name: test shell: cmd run: C:\tools\cygwin\bin\ruby.exe /usr/bin/rake -E 'STDOUT.sync=true' test env: MRUBY_CONFIG: travis_config.rb