Skip to content

Commit 6f15c9e

Browse files
committed
Update infrastructure
- Add JRuby and TruffleRuby to CI, update CI workflows. - Add rubocop-yard (disabled for now). - Update versioning task. - Update spec_helper.
1 parent a5ec9ff commit 6f15c9e

File tree

13 files changed

+108
-21
lines changed

13 files changed

+108
-21
lines changed

.github/workflows/CI.yaml

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,28 +26,32 @@ on:
2626
jobs:
2727
CRuby:
2828
uses: ./.github/workflows/cruby.yaml
29+
JRuby:
30+
uses: ./.github/workflows/jruby.yaml
31+
TruffleRuby:
32+
uses: ./.github/workflows/truffle_ruby.yaml
2933
lint:
30-
name: Code quality
34+
name: Rubocop
3135
runs-on: ubuntu-latest
3236
env:
33-
BUNDLE_ONLY: "default linting"
37+
BUNDLE_ONLY: "default:linting"
3438
steps:
35-
- uses: actions/checkout@v4
39+
- uses: actions/checkout@v5
3640
with:
3741
persist-credentials: false
3842
- name: Set up Ruby
3943
uses: ruby/setup-ruby@v1
4044
with:
4145
bundler-cache: true
42-
- name: Run RuboCop
46+
- name: Run Rubocop
4347
run: bundle exec rubocop -f github
44-
typing:
48+
signatures:
4549
name: Type checking
4650
runs-on: ubuntu-latest
4751
env:
48-
BUNDLE_ONLY: "default linting"
52+
BUNDLE_ONLY: "default:linting"
4953
steps:
50-
- uses: actions/checkout@v4
54+
- uses: actions/checkout@v5
5155
with:
5256
persist-credentials: false
5357
- name: Set up Ruby
@@ -63,12 +67,12 @@ jobs:
6367
if: ${{ github.event_name == 'pull_request' }}
6468
needs: CRuby
6569
runs-on: ubuntu-latest
70+
env:
71+
BUNDLE_ONLY: "default:test"
6672
permissions:
6773
pull-requests: write
68-
env:
69-
BUNDLE_ONLY: "default test"
7074
steps:
71-
- uses: actions/checkout@v4
75+
- uses: actions/checkout@v5
7276
with:
7377
persist-credentials: false
7478
- name: Set up Ruby

.github/workflows/deploy-docs.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ concurrency:
1414
cancel-in-progress: false
1515
jobs:
1616
build:
17-
if: ${{ github.repository == 'trinistr/object_forge' }}
17+
if: ${{ github.repository_owner == 'trinistr' }}
1818
runs-on: ubuntu-latest
1919
env:
20-
BUNDLE_ONLY: 'default documentation'
20+
BUNDLE_ONLY: "default:documentation"
2121
steps:
2222
- name: Checkout
2323
uses: actions/checkout@v5

.github/workflows/jruby.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: JRuby
2+
permissions:
3+
contents: read
4+
on:
5+
workflow_call:
6+
jobs:
7+
test:
8+
name: ${{ matrix.ruby }}
9+
runs-on: ubuntu-latest
10+
strategy:
11+
matrix:
12+
ruby:
13+
- jruby
14+
- jruby-head
15+
experimental: [false]
16+
continue-on-error: ${{ matrix.experimental }}
17+
env:
18+
BUNDLE_ONLY: "default:test"
19+
steps:
20+
- uses: actions/checkout@v5
21+
with:
22+
persist-credentials: false
23+
- name: Set up Ruby
24+
uses: ruby/setup-ruby@v1
25+
with:
26+
ruby-version: ${{ matrix.ruby }}
27+
bundler-cache: true
28+
- name: Run RSpec
29+
run: bundle exec rake spec
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: TruffleRuby
2+
permissions:
3+
contents: read
4+
on:
5+
workflow_call:
6+
jobs:
7+
test:
8+
name: ${{ matrix.ruby }}
9+
runs-on: ubuntu-latest
10+
strategy:
11+
matrix:
12+
ruby:
13+
- truffleruby
14+
- truffleruby-head
15+
experimental: [false]
16+
continue-on-error: ${{ matrix.experimental }}
17+
env:
18+
BUNDLE_ONLY: "default:test"
19+
steps:
20+
- uses: actions/checkout@v5
21+
with:
22+
persist-credentials: false
23+
- name: Set up Ruby
24+
uses: ruby/setup-ruby@v1
25+
with:
26+
ruby-version: ${{ matrix.ruby }}
27+
bundler-cache: true
28+
- name: Run RSpec
29+
run: bundle exec rake spec

.github/workflows/zizmor.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ jobs:
1818
with:
1919
persist-credentials: false
2020
- name: Run zizmor 🌈
21-
uses: zizmorcore/zizmor-action@5ca5fc7a4779c5263a3ffa0e1f693009994446d1 # v0.1.2
21+
uses: zizmorcore/zizmor-action@0dce2577a4760a2749d8cfb7a84b7d5585ebcb7d # v0.5.0

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@
1010

1111
# remote rubocop configuration
1212
.rubocop-*
13+
rubocop-*

.rubocop.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ plugins:
77
- rubocop-rake
88
- rubocop-rspec
99
- rubocop-thread_safety
10+
# - rubocop-yard

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ group :linting do
2424
gem "rubocop-rake", require: false
2525
gem "rubocop-rspec", require: false
2626
gem "rubocop-thread_safety", require: false
27+
gem "rubocop-yard", require: false
2728

2829
# Checking type signatures
2930
gem "rbs", require: false

Gemfile.lock

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,10 @@ GEM
134134
lint_roller (~> 1.1)
135135
rubocop (~> 1.72, >= 1.72.1)
136136
rubocop-ast (>= 1.44.0, < 2.0)
137+
rubocop-yard (1.1.0)
138+
lint_roller
139+
rubocop (~> 1.72)
140+
yard
137141
ruby-progressbar (1.13.0)
138142
securerandom (0.4.1)
139143
simplecov (0.22.0)
@@ -201,6 +205,7 @@ DEPENDENCIES
201205
rubocop-rake
202206
rubocop-rspec
203207
rubocop-thread_safety
208+
rubocop-yard
204209
simplecov
205210
simplecov_lcov_formatter
206211
stackprof
@@ -268,6 +273,7 @@ CHECKSUMS
268273
rubocop-rake (0.7.1) sha256=3797f2b6810c3e9df7376c26d5f44f3475eda59eb1adc38e6f62ecf027cbae4d
269274
rubocop-rspec (3.6.0) sha256=c0e4205871776727e54dee9cc91af5fd74578001551ba40e1fe1a1ab4b404479
270275
rubocop-thread_safety (0.7.3) sha256=067cdd52fbf5deffc18995437e45b5194236eaff4f71de3375a1f6052e48f431
276+
rubocop-yard (1.1.0) sha256=a9a4051c852e58a1b967e41abb85c94698f482782e6261f747a9acae79fe6f73
271277
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
272278
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
273279
simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5

LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2025 Alexandr Bulancov
3+
Copyright (c) 2025-2026 Alexander Bulancov
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

0 commit comments

Comments
 (0)