From be6b8d8662b6a402726c14a356ada039113bbff9 Mon Sep 17 00:00:00 2001 From: Patrik Ragnarsson Date: Tue, 19 Jul 2022 23:57:41 +0200 Subject: [PATCH] Run CI job against `rack` main branch --- .github/workflows/test.yml | 21 ++++++++++++++++++++- Gemfile | 7 ++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c5b03a43..333b9337 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,13 +8,19 @@ on: jobs: test: - name: Test with Ruby-${{ matrix.ruby }} + name: Ruby ${{ matrix.ruby }} (Rack ${{ matrix.rack }}) runs-on: ubuntu-latest strategy: fail-fast: false matrix: + rack: + - stable # Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0' ruby: [2.6, 2.7, '3.0', 3.1, 'jruby-9.3'] + include: + - { ruby: 3.1, rack: master, allow-failure: true } + env: + rack: ${{ matrix.rack }} steps: - uses: actions/checkout@v3 - uses: ruby/setup-ruby@v1 @@ -24,13 +30,19 @@ jobs: - name: Install dependencies run: sudo apt-get install -y pandoc nodejs pkg-config libxml2-dev libxslt-dev - name: Run sinatra tests + continue-on-error: ${{ matrix.allow-failure || false }} + id: tests run: bundle exec rake - name: Run sinatra-contrib tests + continue-on-error: ${{ matrix.allow-failure || false }} + id: contrib-tests working-directory: sinatra-contrib run: | bundle install --jobs=3 --retry=3 bundle exec rake - name: Run rack-protection tests + continue-on-error: ${{ matrix.allow-failure || false }} + id: protection-tests working-directory: rack-protection run: | bundle install --jobs=3 --retry=3 @@ -43,3 +55,10 @@ jobs: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} # required MATRIX_CONTEXT: ${{ toJson(matrix) }} # required if: failure() && env.SLACK_WEBHOOK_URL + # because continue-on-error marks the steps as pass even if they fail + - name: "sinatra tests outcome: ${{ steps.tests.outcome }}" + run: "" + - name: "sinatra-contrib tests outcome: ${{ steps.contrib-tests.outcome }}" + run: "" + - name: "rack-protection tests outcome: ${{ steps.protection-tests.outcome }}" + run: "" diff --git a/Gemfile b/Gemfile index 83bb6cdc..c3e55379 100644 --- a/Gemfile +++ b/Gemfile @@ -10,7 +10,12 @@ source 'https://rubygems.org' gemspec gem 'rake' -gem 'rack' + +rack_version = ENV['rack'].to_s +rack_version = nil if rack_version.empty? or rack_version == 'stable' +rack_version = {:github => 'rack/rack'} if rack_version == 'master' +gem 'rack', rack_version + gem 'rack-test', '>= 0.6.2', '< 2' gem "minitest", "~> 5.0" gem 'yard'