.github/workflows/build-workflow.yml
name: Build
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
linux:
name: Linux
runs-on: ubuntu-latest
strategy:
matrix:
ruby: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3', 'head']
steps:
- uses: actions/checkout@v4
- uses: awalsh128/cache-apt-pkgs-action@v1
with:
packages: libglfw3
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Test & publish code coverage
uses: paambaati/codeclimate-action@v2.2.1
if: github.event_name == 'push'
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
with:
coverageCommand: bundle exec rake test
- name: Test
if: github.event_name != 'push'
run: bundle exec rake test
macos:
name: macOS
runs-on: macos-latest
strategy:
matrix:
ruby: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3', 'head']
steps:
- uses: actions/checkout@v4
- run: brew install glfw
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec rake test
windows:
name: Windows
runs-on: windows-latest
env:
MITTSU_LIBGLFW_PATH: c:\projects\mittsu\glfw-3.3.1.bin.WIN32\lib-mingw
strategy:
matrix:
ruby: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3', 'head']
steps:
- uses: actions/checkout@v4
- run: .\install-glfw.ps1
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec rake test