Skip to content

Implements Nested JWT functionality as defined in RFC 7519 Section 5.2, 7.1, 7.2, and Appendix A.2. #972

Implements Nested JWT functionality as defined in RFC 7519 Section 5.2, 7.1, 7.2, and Appendix A.2.

Implements Nested JWT functionality as defined in RFC 7519 Section 5.2, 7.1, 7.2, and Appendix A.2. #972

Workflow file for this run

---
permissions: read-all
name: test
on:
push:
branches:
- "*"
pull_request:
branches:
- "*"
schedule:
- cron: "0 0 * * 5"
jobs:
rubocop:
name: RuboCop
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
bundler-cache: true
- name: Run RuboCop
run: bundle exec rubocop
test:
name: ${{ matrix.os }} - Ruby ${{ matrix.ruby }} - ${{ matrix.gemfile }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
ruby:
- "2.5"
- "2.6"
- "2.7"
- "3.0"
- "3.1"
- "3.2"
- "3.3"
- "3.4"
- "4.0"
gemfile:
- gemfiles/standalone.gemfile
experimental: [false]
include:
- os: ubuntu-latest
ruby: "2.5"
gemfile: gemfiles/openssl.gemfile
experimental: false
- os: ubuntu-latest
ruby: "truffleruby-head"
gemfile: "gemfiles/standalone.gemfile"
experimental: true
- os: ubuntu-latest
ruby: head
gemfile: gemfiles/standalone.gemfile
experimental: true
continue-on-error: ${{ matrix.experimental }}
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
steps:
- uses: actions/checkout@v6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Run tests
run: bundle exec rspec
- name: Sanitize gemfile path
run: echo "SANITIZED_GEMFILE=${{ matrix.gemfile }}" | tr '/' '-' >> $GITHUB_ENV
- name: Upload test coverage folder for later reporting
uses: actions/upload-artifact@v6
with:
name: coverage-${{ matrix.os }}-${{ matrix.ruby }}-${{ env.SANITIZED_GEMFILE }}
path: coverage/*.json
retention-days: 1
coverage:
name: Report coverage to Qlty
runs-on: ubuntu-latest
needs: test
if: success()
steps:
- uses: actions/checkout@v6
- name: Download coverage reports from the test job
uses: actions/download-artifact@v7
- uses: qltysh/qlty-action/coverage@v2
with:
token: ${{ secrets.QLTY_COVERAGE_TOKEN }}
files: coverage-*/*.json
smoke:
name: Built GEM smoke test
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
- name: Build GEM
run: gem build
- name: Install built GEM
run: gem install jwt-*.gem
- name: Run test
run: bin/smoke.rb