name: CI
on: [ push, pull_request, workflow_dispatch ]
jobs: build: name: >- $matrix.os } $matrix.ruby } runs-on: $matrix.os } timeout-minutes: 10 strategy: fail-fast: false matrix: os: [ ubuntu-20.04, ubuntu-18.04, macos-10.15, windows-2019 ] ruby: [ '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', head ] include: - { os: windows-2019, ruby: mingw } exclude: - { os: windows-2019, ruby: head } steps: - name: repo checkout uses: actions/checkout@v2
- name: load ruby, openssl
uses: MSP-Greg/setup-ruby-pkgs@v1
with:
ruby-version: ${{ matrix.ruby }}
mingw: _upgrade_ openssl
- name: macOS disable firewall
if: startsWith(matrix.os, 'macos')
run: |
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
- name: bundle install
run: bundle install --jobs 4 --retry 3 --without=documentation
- name: compile
run: bundle exec rake compile
- name: test
run: bundle exec rake test
env:
CI: true
TESTOPTS: -v --no-show-detail-immediately