Skip to content

Release/v3.1.3 #152

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 58 commits into from
Jun 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
ad4da1d
🔨 Housekeeping
pboling Jun 1, 2025
5dc39ac
📝 Closer to keep-a-changelog format
pboling Jun 1, 2025
f3756ae
✏️ attend to grammar
pboling Jun 1, 2025
df1c2df
🔥 remove codecov
pboling Jun 1, 2025
d2e0dd5
👷 Expand CI Matrix
pboling Jun 3, 2025
ec4dbb3
👷 Expand CI Matrix
pboling Jun 3, 2025
3966c68
👷 Expand CI Matrix (ii)
pboling Jun 3, 2025
a5b112b
👷 Add back codecov
pboling Jun 3, 2025
a2cbb2c
👷 Expand CI Matrix (iii)
pboling Jun 4, 2025
725120b
🔧 config Omniauth logger in specs
pboling Jun 4, 2025
c4fecd2
🎨 Change test switch to version of omniauth
pboling Jun 4, 2025
2e5cffe
🚨 Linting
pboling Jun 4, 2025
b2498ba
🔧 Update appraisals
pboling Jun 4, 2025
98077e4
🔧 Update appraisals
pboling Jun 4, 2025
649e3be
🔧 Update appraisals (ii)
pboling Jun 5, 2025
6ee1579
💚 Fix legacy-adapters.yml CI workflow
pboling Jun 5, 2025
d56f4b1
💚 Fix jruby-svc-adapters.yml CI workflow
pboling Jun 5, 2025
cc0c20c
💚 Fix jruby-ancient.yml CI workflow
pboling Jun 5, 2025
9060a5f
💚 Fix more workflows
pboling Jun 5, 2025
08672cd
💚 Fix more workflows
pboling Jun 5, 2025
7c9d5ce
💚 Fix more workflows
pboling Jun 5, 2025
bb39247
💚 Fix more workflows
pboling Jun 5, 2025
baa5498
💚 Fix more workflows
pboling Jun 5, 2025
9391c47
💚 Fix more workflows
pboling Jun 5, 2025
38d2a81
💚 Fix more workflows (ii)
pboling Jun 5, 2025
69d47ee
💚 Fix more workflows (iii)
pboling Jun 5, 2025
51ac385
💚 Fix test for jdbc adapters v72+
pboling Jun 5, 2025
327261a
💚 Fix test for jdbc adapters v72+ (ii)
pboling Jun 5, 2025
d51180d
📝 Improve documentation
pboling Jun 5, 2025
158739d
🍱 logos
pboling Jun 5, 2025
afe91a0
💚 Fix more workflows (iv)
pboling Jun 5, 2025
67cea1b
💚 Fix more workflows (v)
pboling Jun 5, 2025
e14bcaa
💚 Fix more workflows (vi)
pboling Jun 5, 2025
650994e
💚 Fix more workflows (vii)
pboling Jun 5, 2025
4953128
👷 Fix mongoid workflows
pboling Jun 5, 2025
e315da0
👷 Refactor gemfiles for reusability across projects
pboling Jun 6, 2025
0760f94
👷 Support old omniauth v1.0
pboling Jun 6, 2025
1acaf6c
👷 Disable Rails 7.2 testing on JRuby
pboling Jun 6, 2025
8e4765f
👷 More sequel workflows
pboling Jun 6, 2025
df05c33
👷 Allow bson to fail to load
pboling Jun 6, 2025
0b10169
👷 Only released bson for JRuby
pboling Jun 6, 2025
cb75c71
👷 Fix sequel on JRuby
pboling Jun 6, 2025
9acd39b
👷 Fix cat typo
pboling Jun 6, 2025
a7658fa
👷 refactor: x_std_libs
pboling Jun 6, 2025
0a97f64
👷 Unable to test AR 7.2 against JRuby
pboling Jun 6, 2025
f146e68
👷 Switch to released bson for JRuby
pboling Jun 6, 2025
32c933c
👷 Fix typo
pboling Jun 6, 2025
2df76b5
👷 Some JRuby workflows are experimental
pboling Jun 6, 2025
fd22235
👷 Code Coverage @ 90% (line), 76 (branch)
pboling Jun 6, 2025
d97007c
👷 Disambiguate workflow names
pboling Jun 6, 2025
7682775
👷 Fix some JRuby builds: require "logger"
pboling Jun 6, 2025
6d8bb0b
👷 Minimum tested AR for JRuby is v6.1
pboling Jun 6, 2025
680b9ad
👷 No code coverage on JRuby switches
pboling Jun 6, 2025
114cb08
👷 Fix some JRuby builds: require "logger"
pboling Jun 6, 2025
33aaa34
👷 Fix some JRuby builds
pboling Jun 7, 2025
4105dac
📝 Improve documentation
pboling Jun 7, 2025
75208ca
📝 QLTY.sh
pboling Jun 7, 2025
31538f6
🔖 Prepare release v3.1.3
pboling Jun 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .envrc
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ export K_SOUP_COV_DO=true # Means you want code coverage
# Available formats are html, xml, rcov, lcov, json, tty
export K_SOUP_COV_COMMAND_NAME="RSpec Coverage"
export K_SOUP_COV_FORMATTERS="html,tty"
export K_SOUP_COV_MIN_BRANCH=80 # Means you want to enforce X% branch coverage
export K_SOUP_COV_MIN_LINE=91 # Means you want to enforce X% line coverage
export K_SOUP_COV_MIN_BRANCH=76 # Means you want to enforce X% branch coverage
export K_SOUP_COV_MIN_LINE=90 # Means you want to enforce X% line coverage
export K_SOUP_COV_MIN_HARD=true # Means you want the build to fail if the coverage thresholds are not met
export K_SOUP_COV_MULTI_FORMATTERS=true
export MAX_ROWS=1 # Setting for simplecov-console gem for tty output, limits to the worst N rows of bad coverage
Expand Down
14 changes: 7 additions & 7 deletions .github/disabled/truffle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#
#jobs:
# test:
# name: Specs ${{ matrix.ruby }} ${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
# name: Specs ${{ matrix.ruby }} ${{ matrix.appraisal_name }}${{ matrix.name_extra || '' }}
# if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
# runs-on: ubuntu-22.04
# continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
Expand All @@ -38,23 +38,23 @@
# # NOTE: truffleruby does not support upgrading rubygems.
# # truffleruby-22.3 (targets Ruby 3.0 compatibility)
# - ruby: "truffleruby-22.3"
# appraisal: "couch-1.17"
# appraisal_name: "couch-1.17"
# exec_cmd: "rake spec:orm:couch_potato"
# gemfile: "Appraisal.root"
# rubygems: default
# bundler: default
#
# # truffleruby-23.0 (targets Ruby 3.1 compatibility)
# - ruby: "truffleruby-23.0"
# appraisal: "couch-1.17"
# appraisal_name: "couch-1.17"
# exec_cmd: "rake spec:orm:couch_potato"
# gemfile: "Appraisal.root"
# rubygems: default
# bundler: default
#
# # truffleruby-23.1 (targets Ruby 3.2 compatibility)
# - ruby: "truffleruby-23.1"
# appraisal: "couch-1.17"
# appraisal_name: "couch-1.17"
# exec_cmd: "rake spec:orm:couch_potato"
# gemfile: "Appraisal.root"
# rubygems: default
Expand Down Expand Up @@ -91,7 +91,7 @@
# # NOTE: This does not use the main Gemfile at all.
# - name: Install Root Appraisal
# run: bundle
# - name: Appraisal for ${{ matrix.appraisal }}
# run: bundle exec appraisal ${{ matrix.appraisal }} bundle
# - name: Appraisal for ${{ matrix.appraisal_name }}
# run: bundle exec appraisal ${{ matrix.appraisal_name }} bundle
# - name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
# run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
# run: bundle exec appraisal ${{ matrix.appraisal_name }} bundle exec ${{ matrix.exec_cmd }}
110 changes: 110 additions & 0 deletions .github/workflows/ancient-svc-adapters.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: MRI 2.4, 2.5 (Ancient) Svc Adapters

permissions:
contents: read

env:
K_SOUP_COV_DO: false

on:
push:
branches:
- 'main'
tags:
- '!*' # Do not execute on tags
pull_request:
branches:
- '*'
# Allow manually triggering the workflow.
workflow_dispatch:

# Cancels all previous workflow runs for the same branch that have not yet completed.
concurrency:
# The concurrency group contains the workflow name and the branch name.
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true

jobs:
test:
name: Specs ${{ matrix.ruby }} ${{ matrix.appraisal_name }}${{ matrix.name_extra || '' }}
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
runs-on: ubuntu-22.04
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
env: # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps
BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}.gemfile
strategy:
fail-fast: false
matrix:
include:
# Ruby 2.4
- ruby: "2.4"
appraisal_name: "couch-1.17-r2.4"
exec_cmd: "rake spec:orm:couch_potato"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"

- ruby: "2.4"
appraisal_name: "mongoid-7.3-b4.12"
exec_cmd: "rake spec:orm:mongoid"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"

# Ruby 2.5
- ruby: "2.5"
appraisal_name: "couch-1.17-r2.5"
exec_cmd: "rake spec:orm:couch_potato"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"

- ruby: "2.5"
appraisal_name: "mongoid-7.4-b4.15"
exec_cmd: "rake spec:orm:mongoid"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"

steps:
### COUCHDB
- name: Start CouchDB
uses: iamssen/couchdb-github-action@master
if: "endsWith(matrix.exec_cmd, 'couch_potato')"
with:
couchdb-version: "3.4.1"

### MONGODB
- name: Start MongoDB
uses: supercharge/[email protected]
if: "endsWith(matrix.exec_cmd, 'mongoid')"
with:
mongodb-version: "8.0"

### SMOKE-TEST
- name: Smoke CouchDB
if: "endsWith(matrix.exec_cmd, 'couch_potato')"
run: |
curl -f http://127.0.0.1:5984/
curl -X POST -H "Content-Type: application/json; charset=utf-8" -d '{"name": "admin", "password": "password"}' http://127.0.0.1:5984/_session

- name: Checkout
uses: actions/checkout@v4

- name: Setup Ruby & RubyGems
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
rubygems: ${{ matrix.rubygems }}
bundler: ${{ matrix.bundler }}
bundler-cache: false

# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
# We need to do this first to get appraisal installed.
# NOTE: This does not use the main Gemfile at all.
- name: Install Root Appraisal
run: bundle
- name: Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal_name }}
run: bundle exec appraisal ${{ matrix.appraisal_name }} bundle
- name: Run ${{ matrix.exec_cmd }} on ${{ matrix.ruby }}@${{ matrix.appraisal_name }}
run: bundle exec appraisal ${{ matrix.appraisal_name }} bundle exec ${{ matrix.exec_cmd }}
70 changes: 26 additions & 44 deletions .github/workflows/ancient.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
name: MRI 2.4, 2.5 (EOL)
name: MRI 2.4, 2.5 (Ancient)

permissions:
contents: read

env:
K_SOUP_COV_DO: false

on:
push:
Expand All @@ -20,7 +26,7 @@ concurrency:

jobs:
test:
name: Specs ${{ matrix.ruby }} ${{ matrix.appraisal }}${{ matrix.name_extra || '' }}
name: Specs ${{ matrix.ruby }} ${{ matrix.appraisal_name }}${{ matrix.name_extra || '' }}
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
runs-on: ubuntu-22.04
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
Expand All @@ -30,65 +36,41 @@ jobs:
fail-fast: false
matrix:
include:
# # Ruby 2.4
# - ruby: "2.4"
# appraisal: "ar-5-2"
# exec_cmd: "rake spec:orm:active_record"
# gemfile: "Appraisal.root"
# rubygems: "3.3.27"
# bundler: "2.3.27"
# - ruby: "2.4"
# appraisal: "couch-1.17"
# exec_cmd: "rake spec:orm:couch_potato"
# gemfile: "Appraisal.root"
# rubygems: "3.3.27"
# bundler: "2.3.27"
# - ruby: "2.4"
# appraisal: "mongoid-7.3"
# exec_cmd: "rake spec:orm:mongoid"
# gemfile: "Appraisal.root"
# rubygems: "3.3.27"
# bundler: "2.3.27"
# - ruby: "2.4"
# appraisal: "sequel-5.86"
# exec_cmd: "rake spec:orm:sequel"
# gemfile: "Appraisal.root"
# rubygems: "3.3.27"
# bundler: "2.3.27"

# Ruby 2.5
- ruby: "2.5"
appraisal: "ar-5-2"
# Ruby 2.4
- ruby: "2.4"
appraisal_name: "ar-5-2-r2.4"
exec_cmd: "rake spec:orm:active_record"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"
- ruby: "2.5"
appraisal: "ar-6-0"
exec_cmd: "rake spec:orm:active_record"
- ruby: "2.4"
appraisal_name: "sequel-5.86-r2.4"
exec_cmd: "rake spec:orm:sequel"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"

# Ruby 2.5
- ruby: "2.5"
appraisal: "ar-6-1"
appraisal_name: "ar-5-2-r2"
exec_cmd: "rake spec:orm:active_record"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"
- ruby: "2.5"
appraisal: "couch-1.17"
exec_cmd: "rake spec:orm:couch_potato"
appraisal_name: "ar-6-0"
exec_cmd: "rake spec:orm:active_record"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"
- ruby: "2.5"
appraisal: "mongoid-7.4"
exec_cmd: "rake spec:orm:mongoid"
appraisal_name: "ar-6-1-r2"
exec_cmd: "rake spec:orm:active_record"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
bundler: "2.3.27"
- ruby: "2.5"
appraisal: "sequel-5.86"
appraisal_name: "sequel-5.86-r2.5"
exec_cmd: "rake spec:orm:sequel"
gemfile: "Appraisal.root"
rubygems: "3.3.27"
Expand Down Expand Up @@ -132,7 +114,7 @@ jobs:
# NOTE: This does not use the main Gemfile at all.
- name: Install Root Appraisal
run: bundle
- name: Appraisal for ${{ matrix.appraisal }}
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
- name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }}
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
- name: Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal_name }}
run: bundle exec appraisal ${{ matrix.appraisal_name }} bundle
- name: Run ${{ matrix.exec_cmd }} on ${{ matrix.ruby }}@${{ matrix.appraisal_name }}
run: bundle exec appraisal ${{ matrix.appraisal_name }} bundle exec ${{ matrix.exec_cmd }}
65 changes: 39 additions & 26 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
name: Test Coverage

permissions:
contents: read
pull-requests: write
id-token: write

env:
K_SOUP_COV_MIN_BRANCH: 79
K_SOUP_COV_MIN_LINE: 92
K_SOUP_COV_MIN_BRANCH: 76
K_SOUP_COV_MIN_LINE: 90
K_SOUP_COV_MIN_HARD: true
K_SOUP_COV_FORMATTERS: "html,rcov,lcov,json,tty"
K_SOUP_COV_FORMATTERS: "html,xml,rcov,lcov,json,tty"
K_SOUP_COV_DO: true
K_SOUP_COV_MULTI_FORMATTERS: true
K_SOUP_COV_COMMAND_NAME: "RSpec Coverage"
Expand All @@ -21,9 +26,6 @@ on:
# Allow manually triggering the workflow.
workflow_dispatch:

permissions:
contents: read

# Cancels all previous workflow runs for the same branch that have not yet completed.
concurrency:
# The concurrency group contains the workflow name and the branch name.
Expand All @@ -44,7 +46,7 @@ jobs:
include:
# Coverage
- ruby: "ruby"
appraisal: "coverage"
appraisal_name: "coverage"
exec_cmd: "rake spec:orm:all"
gemfile: "Appraisal.root"
rubygems: latest
Expand Down Expand Up @@ -82,14 +84,38 @@ jobs:

# Raw `bundle` will use the BUNDLE_GEMFILE set to matrix.gemfile (i.e. Appraisal.root)
# We need to do this first to get appraisal installed.
# NOTE: This does not use the main Gemfile at all.
# NOTE: This does not use the primary Gemfile at all.
- name: Install Root Appraisal
run: bundle
- name: Appraisal for ${{ matrix.appraisal }}
run: bundle exec appraisal ${{ matrix.appraisal }} bundle
- name: Tests for ${{ matrix.ruby }}@current via ${{ matrix.exec_cmd }}
run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
- name: Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal_name }}
run: bundle exec appraisal ${{ matrix.appraisal_name }} bundle
- name: Run ${{ matrix.exec_cmd }} on ${{ matrix.ruby }}@${{ matrix.appraisal_name }}
run: bundle exec appraisal ${{ matrix.appraisal_name }} bundle exec ${{ matrix.exec_cmd }}

# Do SaaS coverage uploads first
- name: Upload coverage to Coveralls
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
continue-on-error: ${{ matrix.experimental != 'false' }}

- name: Upload coverage to QLTY
uses: qltysh/qlty-action/coverage@main
with:
token: ${{secrets.QLTY_COVERAGE_TOKEN}}
files: coverage/.resultset.json
continue-on-error: ${{ matrix.experimental != 'false' }}

# Build will fail here if coverage upload fails
# which will hopefully be noticed for the lack of code coverage comments
- name: Upload coverage to CodeCov
uses: codecov/codecov-action@v5
with:
use_oidc: true
fail_ci_if_error: true # optional (default = false)
verbose: true # optional (default = false)

# Then PR comments
- name: Code Coverage Summary Report
uses: irongut/[email protected]
if: ${{ github.event_name == 'pull_request' }}
Expand All @@ -102,7 +128,7 @@ jobs:
hide_complexity: true
indicators: true
output: both
thresholds: '100 100'
thresholds: '90 76'
continue-on-error: ${{ matrix.experimental != 'false' }}

- name: Add Coverage PR Comment
Expand All @@ -112,16 +138,3 @@ jobs:
recreate: true
path: code-coverage-results.md
continue-on-error: ${{ matrix.experimental != 'false' }}

- name: Upload coverage to Coveralls
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
continue-on-error: ${{ matrix.experimental != 'false' }}

- name: Upload coverage to CodeCov
uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true # optional (default = false)
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true # optional (default = false)
Loading
Loading