diff options
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/build.yml | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..d743d4ffb --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,108 @@ +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 bison + - 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 bison 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 bison + - 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 bison + - 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 winflexbison gperf + - name: build and test + run: rake -E '$stdout.sync=true' -j4 test + env: + MRUBY_CONFIG: travis_config.rb + YACC: win_bison + 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++,bison,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 -v -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 winflexbison 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 -v test + env: + MRUBY_CONFIG: appveyor_config.rb + YACC: win_bison + # 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" |
