Skip to content

Commit 63123e5

Browse files
committed
Merge branch 'release/v2.0.10' into 'main'
Release/v2.0.10 See merge request oauth-xx/oauth2!648
2 parents 6568de9 + 075cc1f commit 63123e5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+1115
-363
lines changed

.devcontainer/devcontainer.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
2+
// README at: https://github.com/devcontainers/templates/tree/main/src/ruby
3+
{
4+
"name": "Ruby",
5+
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6+
"image": "mcr.microsoft.com/devcontainers/ruby:1-3-bookworm",
7+
8+
// Features to add to the dev container. More info: https://containers.dev/features.
9+
// "features": {},
10+
11+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
12+
// "forwardPorts": [],
13+
14+
// Use 'postCreateCommand' to run commands after the container is created.
15+
// "postCreateCommand": "ruby --version",
16+
17+
// Configure tool-specific properties.
18+
"customizations" : {
19+
"jetbrains" : {
20+
"backend" : "RubyMine"
21+
}
22+
},
23+
24+
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
25+
// "remoteUser": "root"
26+
}

.envrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ export MAX_ROWS=1 # Setting for simplecov-console gem for tty output, limits to
2929
# Internal Debugging Controls
3030
export DEBUG=false # do not allow byebug statements (override in .env.local)
3131

32+
# Concurrently developing the rubocop-lts suite?
33+
export RUBOCOP_LTS_LOCAL=false
34+
3235
# .env would override anything in this file, if `dotenv` is uncommented below.
3336
# .env is a DOCKER standard, and if we use it, it would be in deployed, or DOCKER, environments,
3437
# and that is why we generally want to leave it commented out.
File renamed without changes.

.github/workflows/ancient.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
name: MRI 2.3, 2.4, 2.5 (EOL)
22

3+
permissions:
4+
contents: read
5+
36
on:
47
push:
58
branches:

.github/workflows/coverage.yml

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
name: Test Coverage
22

3+
permissions:
4+
contents: read
5+
pull-requests: write
6+
37
env:
48
K_SOUP_COV_MIN_BRANCH: 100
59
K_SOUP_COV_MIN_LINE: 100
610
K_SOUP_COV_MIN_HARD: true
7-
K_SOUP_COV_FORMATTERS: "html,rcov,lcov,json,tty"
11+
K_SOUP_COV_FORMATTERS: "html,xml,rcov,lcov,json,tty"
812
K_SOUP_COV_DO: true
913
K_SOUP_COV_MULTI_FORMATTERS: true
1014
K_SOUP_COV_COMMAND_NAME: "RSpec Coverage"
@@ -22,9 +26,6 @@ on:
2226
# Allow manually triggering the workflow.
2327
workflow_dispatch:
2428

25-
permissions:
26-
contents: read
27-
2829
# Cancels all previous workflow runs for the same branch that have not yet completed.
2930
concurrency:
3031
# The concurrency group contains the workflow name and the branch name.
@@ -73,6 +74,30 @@ jobs:
7374
- name: Tests for ${{ matrix.ruby }}@current via ${{ matrix.exec_cmd }}
7475
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
7576

77+
# Do SaaS coverage uploads first
78+
- name: Upload coverage to Coveralls
79+
uses: coverallsapp/github-action@master
80+
with:
81+
github-token: ${{ secrets.GITHUB_TOKEN }}
82+
continue-on-error: ${{ matrix.experimental != 'false' }}
83+
84+
- name: Upload coverage to QLTY
85+
uses: qltysh/qlty-action/coverage@main
86+
with:
87+
token: ${{secrets.QLTY_COVERAGE_TOKEN}}
88+
files: coverage/.resultset.json
89+
continue-on-error: ${{ matrix.experimental != 'false' }}
90+
91+
# Build will fail here if coverage upload fails
92+
# which will hopefully be noticed for the lack of code coverage comments
93+
- name: Upload coverage to CodeCov
94+
uses: codecov/codecov-action@v5
95+
with:
96+
fail_ci_if_error: true # optional (default = false)
97+
token: ${{ secrets.CODECOV_TOKEN }}
98+
verbose: true # optional (default = false)
99+
100+
# Then PR comments
76101
- name: Code Coverage Summary Report
77102
uses: irongut/[email protected]
78103
if: ${{ github.event_name == 'pull_request' }}
@@ -95,23 +120,3 @@ jobs:
95120
recreate: true
96121
path: code-coverage-results.md
97122
continue-on-error: ${{ matrix.experimental != 'false' }}
98-
99-
- name: Upload coverage to Coveralls
100-
uses: coverallsapp/github-action@master
101-
with:
102-
github-token: ${{ secrets.GITHUB_TOKEN }}
103-
continue-on-error: ${{ matrix.experimental != 'false' }}
104-
105-
- name: Upload coverage to QLTY
106-
uses: qltysh/qlty-action/coverage@main
107-
with:
108-
coverage-token: ${{secrets.QLTY_COVERAGE_TOKEN}}
109-
files: coverage/.resultset.json
110-
continue-on-error: ${{ matrix.experimental != 'false' }}
111-
112-
- name: Upload coverage to CodeCov
113-
uses: codecov/codecov-action@v5
114-
with:
115-
fail_ci_if_error: true # optional (default = false)
116-
token: ${{ secrets.CODECOV_TOKEN }}
117-
verbose: true # optional (default = false)
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Targets the evergreen latest release of ruby, truffleruby, and jruby
2+
# and tests against the HEAD of runtime dependencies
3+
name: Runtime Deps @ HEAD
4+
5+
permissions:
6+
contents: read
7+
8+
env:
9+
K_SOUP_COV_DO: false
10+
11+
on:
12+
push:
13+
branches:
14+
- 'main'
15+
- '*-stable'
16+
tags:
17+
- '!*' # Do not execute on tags
18+
pull_request:
19+
branches:
20+
- '*'
21+
# Allow manually triggering the workflow.
22+
workflow_dispatch:
23+
24+
# Cancels all previous workflow runs for the same branch that have not yet completed.
25+
concurrency:
26+
# The concurrency group contains the workflow name and the branch name.
27+
group: "${{ github.workflow }}-${{ github.ref }}"
28+
cancel-in-progress: true
29+
30+
jobs:
31+
test:
32+
name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}
33+
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
34+
runs-on: ubuntu-latest
35+
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
36+
env: # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps
37+
BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile
38+
strategy:
39+
matrix:
40+
include:
41+
# Ruby 3.4
42+
- ruby: "ruby"
43+
appraisal: "current-runtime-heads"
44+
exec_cmd: "rake test"
45+
gemfile: "Appraisal.root"
46+
rubygems: latest
47+
bundler: latest
48+
49+
# truffleruby-24.1
50+
# (according to documentation: targets Ruby 3.3 compatibility)
51+
# (according to runtime: targets Ruby 3.2 compatibility)
52+
- ruby: "truffleruby"
53+
appraisal: "current-runtime-heads"
54+
exec_cmd: "rake test"
55+
gemfile: "Appraisal.root"
56+
rubygems: default
57+
bundler: default
58+
59+
# jruby-10.0 (targets Ruby 3.4 compatibility)
60+
- ruby: "jruby"
61+
appraisal: "current-runtime-heads"
62+
exec_cmd: "rake test"
63+
gemfile: "Appraisal.root"
64+
rubygems: default
65+
bundler: default
66+
67+
steps:
68+
- name: Checkout
69+
uses: actions/checkout@v4
70+
71+
- name: Setup Ruby & RubyGems
72+
uses: ruby/setup-ruby@v1
73+
with:
74+
ruby-version: ${{ matrix.ruby }}
75+
rubygems: ${{ matrix.rubygems }}
76+
bundler: ${{ matrix.bundler }}
77+
bundler-cache: false
78+
79+
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
80+
# We need to do this first to get appraisal installed.
81+
# NOTE: This does not use the primary Gemfile at all.
82+
- name: Install Root Appraisal
83+
run: bundle
84+
- name: Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}
85+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
86+
- name: Tests for ${{ matrix.ruby }}@${{ matrix.appraisal }} via ${{ matrix.exec_cmd }}
87+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}

.github/workflows/current.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Targets the evergreen latest release of ruby, truffleruby, and jruby
22
name: Current
33

4+
permissions:
5+
contents: read
6+
47
env:
58
K_SOUP_COV_DO: false
69

@@ -17,9 +20,6 @@ on:
1720
# Allow manually triggering the workflow.
1821
workflow_dispatch:
1922

20-
permissions:
21-
contents: read
22-
2323
# Cancels all previous workflow runs for the same branch that have not yet completed.
2424
concurrency:
2525
# The concurrency group contains the workflow name and the branch name.

.github/workflows/heads.yml

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
name: Heads
22

3+
permissions:
4+
contents: read
5+
36
env:
47
K_SOUP_COV_DO: false
58

@@ -16,9 +19,6 @@ on:
1619
# Allow manually triggering the workflow.
1720
workflow_dispatch:
1821

19-
permissions:
20-
contents: read
21-
2222
# Cancels all previous workflow runs for the same branch that have not yet completed.
2323
concurrency:
2424
# The concurrency group contains the workflow name and the branch name.
@@ -77,9 +77,21 @@ jobs:
7777
# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
7878
# We need to do this first to get appraisal installed.
7979
# NOTE: This does not use the primary Gemfile at all.
80-
- name: Install Root Appraisal
80+
- name: "Install Root Appraisal"
8181
run: bundle
82-
- name: Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}
82+
83+
- name: "[Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
84+
id: bundleAttempt1
8385
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
86+
# Continue to the next step on failure
87+
continue-on-error: true
88+
89+
# Effectively an automatic retry of the previous step.
90+
- name: "[Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}"
91+
id: bundleAttempt2
92+
# If bundleAttempt1 failed, try again here; Otherwise skip.
93+
if: steps.bundleAttempt1.outcome == 'failure'
94+
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
95+
8496
- name: Tests for ${{ matrix.ruby }}@${{ matrix.appraisal }} via ${{ matrix.exec_cmd }}
8597
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}

.github/workflows/jruby.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
name: JRuby
22

3+
permissions:
4+
contents: read
5+
36
env:
47
K_SOUP_COV_DO: false
58

@@ -16,9 +19,6 @@ on:
1619
# Allow manually triggering the workflow.
1720
workflow_dispatch:
1821

19-
permissions:
20-
contents: read
21-
2222
# Cancels all previous workflow runs for the same branch that have not yet completed.
2323
concurrency:
2424
# The concurrency group contains the workflow name and the branch name.

.github/workflows/legacy.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
name: MRI 3.0 (EOL)
1+
name: MRI 3.0, 3.1 (EOL)
2+
3+
permissions:
4+
contents: read
25

36
env:
47
K_SOUP_COV_DO: false
@@ -16,9 +19,6 @@ on:
1619
# Allow manually triggering the workflow.
1720
workflow_dispatch:
1821

19-
permissions:
20-
contents: read
21-
2222
# Cancels all previous workflow runs for the same branch that have not yet completed.
2323
concurrency:
2424
# The concurrency group contains the workflow name and the branch name.
@@ -37,6 +37,14 @@ jobs:
3737
fail-fast: false
3838
matrix:
3939
include:
40+
# Ruby 3.1
41+
- ruby: "ruby-3.1"
42+
appraisal: "ruby-3-1"
43+
exec_cmd: "rake test"
44+
gemfile: "Appraisal.root"
45+
rubygems: latest
46+
bundler: latest
47+
4048
# Ruby 3.0
4149
- ruby: "ruby-3.0"
4250
appraisal: "ruby-3-0"

0 commit comments

Comments
 (0)