2019-09-19 13:50:13 -04:00
|
|
|
name: Puma
|
|
|
|
|
2020-02-07 11:53:52 -05:00
|
|
|
on: [push, pull_request]
|
2019-09-19 13:50:13 -04:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
name: >-
|
2020-02-13 11:47:15 -05:00
|
|
|
${{ matrix.os }}, ${{ matrix.ruby }}
|
2020-02-07 11:53:52 -05:00
|
|
|
env:
|
|
|
|
CI: true
|
|
|
|
TESTOPTS: -v
|
|
|
|
|
2019-09-19 13:50:13 -04:00
|
|
|
runs-on: ${{ matrix.os }}
|
2020-03-18 19:43:57 -04:00
|
|
|
if: |
|
|
|
|
!(contains(github.event.pull_request.title, '[ci skip]')
|
|
|
|
|| contains(github.event.head_commit.message, '[ci skip]'))
|
2019-09-19 13:50:13 -04:00
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
2020-02-13 11:47:15 -05:00
|
|
|
os: [ ubuntu-18.04, macos ]
|
2020-03-24 17:13:31 -04:00
|
|
|
ruby: [ 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, head, jruby, truffleruby-head ]
|
2020-02-07 11:53:52 -05:00
|
|
|
|
2019-09-19 13:50:13 -04:00
|
|
|
steps:
|
2020-02-13 11:47:15 -05:00
|
|
|
- name: repo checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
2020-03-08 23:10:07 -04:00
|
|
|
- name: load ruby, ragel
|
|
|
|
uses: MSP-Greg/setup-ruby-pkgs@v1
|
2020-02-13 11:47:15 -05:00
|
|
|
with:
|
|
|
|
ruby-version: ${{ matrix.ruby }}
|
2020-03-08 23:10:07 -04:00
|
|
|
apt-get: ragel
|
|
|
|
brew: ragel
|
2020-02-13 11:47:15 -05:00
|
|
|
|
2020-03-08 23:10:07 -04:00
|
|
|
- name: bundle install
|
2020-02-13 11:47:15 -05:00
|
|
|
run: |
|
2020-03-08 23:10:07 -04:00
|
|
|
# update RubyGems in Ruby 2.2, bundle install
|
|
|
|
if [[ "${{ matrix.ruby }}" < "2.3" ]]; then
|
|
|
|
gem update --system 2.7.10 --no-document
|
2020-02-13 11:47:15 -05:00
|
|
|
fi
|
2020-03-08 23:10:07 -04:00
|
|
|
bundle install --jobs 4 --retry 3 --path=.bundle/puma
|
2020-02-13 11:47:15 -05:00
|
|
|
|
|
|
|
- name: compile
|
|
|
|
run: bundle exec rake compile
|
|
|
|
|
2020-03-24 17:13:31 -04:00
|
|
|
- name: rubocop
|
|
|
|
if: startsWith(matrix.ruby, '2.')
|
|
|
|
run: bundle exec rake rubocop
|
|
|
|
|
2020-03-08 23:10:07 -04:00
|
|
|
- name: test
|
2020-03-17 08:16:45 -04:00
|
|
|
timeout-minutes: 8
|
2020-03-24 17:13:31 -04:00
|
|
|
run: bundle exec rake test:all
|
2020-02-13 11:47:15 -05:00
|
|
|
|
|
|
|
win32:
|
|
|
|
name: >-
|
|
|
|
${{ matrix.os }}, ${{ matrix.ruby }}
|
|
|
|
env:
|
|
|
|
CI: true
|
|
|
|
TESTOPTS: -v
|
|
|
|
|
|
|
|
runs-on: ${{ matrix.os }}
|
2020-03-18 19:43:57 -04:00
|
|
|
if: |
|
|
|
|
!(contains(github.event.pull_request.title, '[ci skip]')
|
|
|
|
|| contains(github.event.head_commit.message, '[ci skip]'))
|
2020-02-13 11:47:15 -05:00
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
os: [ windows-latest ]
|
2020-03-17 08:16:45 -04:00
|
|
|
ruby: [ 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, mingw ]
|
2020-02-13 11:47:15 -05:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: repo checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
2020-03-08 23:10:07 -04:00
|
|
|
- name: load ruby, ragel, openssl
|
|
|
|
uses: MSP-Greg/setup-ruby-pkgs@v1
|
2020-02-13 11:47:15 -05:00
|
|
|
with:
|
|
|
|
ruby-version: ${{ matrix.ruby }}
|
2020-03-08 23:10:07 -04:00
|
|
|
mingw: _upgrade_ openssl ragel
|
2020-02-13 11:47:15 -05:00
|
|
|
|
|
|
|
- name: bundle install
|
2020-03-17 08:16:45 -04:00
|
|
|
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 --path=.bundle/puma
|
2020-02-13 11:47:15 -05:00
|
|
|
|
|
|
|
- name: compile
|
2020-03-08 23:10:07 -04:00
|
|
|
run: |
|
2020-03-17 08:16:45 -04:00
|
|
|
bundle exec rake compile
|
2020-03-08 23:10:07 -04:00
|
|
|
|
|
|
|
- name: test
|
2020-03-17 08:16:45 -04:00
|
|
|
timeout-minutes: 8
|
2020-03-19 16:37:20 -04:00
|
|
|
run: bundle exec rake
|
2020-03-17 08:16:45 -04:00
|
|
|
|
2020-03-24 17:13:31 -04:00
|
|
|
allowedFailures:
|
2020-03-17 08:16:45 -04:00
|
|
|
name: >-
|
|
|
|
${{ matrix.cfg.os }}, ${{ matrix.cfg.ruby }}
|
|
|
|
env:
|
|
|
|
CI: true
|
|
|
|
TESTOPTS: -v
|
|
|
|
|
|
|
|
runs-on: ${{ matrix.cfg.os }}
|
2020-03-18 19:43:57 -04:00
|
|
|
if: |
|
|
|
|
!(contains(github.event.pull_request.title, '[ci skip]')
|
|
|
|
|| contains(github.event.head_commit.message, '[ci skip]'))
|
2020-03-17 08:16:45 -04:00
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
cfg:
|
2020-03-24 17:13:31 -04:00
|
|
|
- { os: ubuntu-latest, ruby: jruby-head }
|
2020-03-17 08:16:45 -04:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: repo checkout
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: load ruby, ragel
|
|
|
|
uses: MSP-Greg/setup-ruby-pkgs@v1
|
|
|
|
with:
|
|
|
|
ruby-version: ${{ matrix.cfg.ruby }}
|
|
|
|
apt-get: ragel
|
|
|
|
brew: ragel
|
|
|
|
|
|
|
|
- name: bundle install
|
|
|
|
run: |
|
|
|
|
bundle install --jobs 4 --retry 3 --path=.bundle/puma
|
|
|
|
|
|
|
|
- name: compile
|
|
|
|
continue-on-error: true
|
|
|
|
run: bundle exec rake compile
|
|
|
|
|
|
|
|
- name: test
|
|
|
|
timeout-minutes: 8
|
|
|
|
continue-on-error: true
|
|
|
|
if: success()
|
2020-03-19 16:37:20 -04:00
|
|
|
run: bundle exec rake
|