1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00
puma--puma/.github/workflows/mri.yml
MSP-Greg c71d149117
Updates for non MRI CI stablity [changelog skip] (#2434)
* Actions non MRI - use JDK11 on macOS, add Big Sur

* Actions MRI - add macOS Big Sur Ruby 2.7

* test/helper.rb - run setup in same Timeout block as test

* TestIntegrationSingle#test_int_refuse - skip on JRuby

Seems to intermittently lockup CI

* TestLauncher#test_puma_stats - fix intermittent non-MRI failure II

* test_out_of_band_server.rb - JRuby - add small sleep after server.run

* test_persistent.rb - JRuby - add small sleep after server.run

* test_puma_server.rb - JRuby - add small sleep after server.run
2020-10-19 09:22:28 -06:00

72 lines
2.1 KiB
YAML

name: MRI
on: [push, pull_request]
jobs:
build:
name: >-
${{ matrix.os }} ${{ matrix.ruby }}${{ matrix.no-ssl }}
env:
CI: true
TESTOPTS: -v
runs-on: ${{ matrix.os }}
if: |
!( contains(github.event.pull_request.title, '[ci skip]')
|| contains(github.event.pull_request.title, '[skip ci]')
|| contains(github.event.head_commit.message, '[ci skip]')
|| contains(github.event.head_commit.message, '[skip ci]'))
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, head ]
no-ssl: ['']
include:
- { os: windows-2019 , ruby: mingw }
- { os: ubuntu-20.04 , ruby: 2.7 , no-ssl: ' no SSL' }
- { os: windows-2019 , ruby: 2.7 , no-ssl: ' no SSL' }
- { os: macos-11.0 , ruby: 2.7 }
exclude:
- { os: ubuntu-20.04 , ruby: 2.2 }
- { os: ubuntu-20.04 , ruby: 2.3 }
- { os: ubuntu-20.04 , ruby: 2.4 }
- { os: ubuntu-20.04 , ruby: 2.6 }
- { os: windows-2019 , ruby: head }
steps:
- name: repo checkout
uses: actions/checkout@v2
- name: load ruby, ragel
uses: MSP-Greg/setup-ruby-pkgs@v1
with:
ruby-version: ${{ matrix.ruby }}
apt-get: ragel
brew: ragel
mingw: _upgrade_ openssl ragel
- name: bundle install
shell: pwsh
run: |
# update RubyGems in Ruby 2.2, bundle install
if ('${{ matrix.ruby }}' -lt '2.3') {
gem update --system 2.7.10 --no-document
}
bundle install --jobs 4 --retry 3
- name: set SSL
if: matrix.no-ssl == ' no SSL'
shell: bash
run: echo 'DISABLE_SSL=true' >> $GITHUB_ENV
- name: compile
run: bundle exec rake compile
- name: rubocop
if: startsWith(matrix.ruby, 'truffleruby') == false
run: bundle exec rake rubocop
- name: test
timeout-minutes: 10
run: bundle exec rake test:all