Skip to content

Commit 6d4452a

Browse files
authored
Merge pull request #27 from hayat01sh1da/hayat01sh1da/ruby/switch-gems-to-install-from-job-to-job
[ruby] Switch Gems to Install from Job to Job
2 parents a58ac9e + f6c9715 commit 6d4452a

4 files changed

Lines changed: 43 additions & 6 deletions

File tree

.github/actions/setup-ruby/action.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
name: Setup Ruby Environment
22
description: Setup Ruby with caching and dependency installation
3+
inputs:
4+
job-name:
5+
description: The name of the job that will use this action
6+
required: true
37

48
runs:
59
using: composite
@@ -11,9 +15,10 @@ runs:
1115
with:
1216
bundler-cache: true
1317
- name: Bundle Install with Caching
18+
if: ${{ inputs.job-name != 'Minitest' }}
1419
shell: bash
1520
working-directory: ./ruby
1621
run: |
1722
bundle config set path vendor/bundle
18-
bundle install
23+
bundle install --with=${{ inputs.job-name }}
1924
bundle lock --add-checksums

.github/workflows/ruby.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,24 @@ jobs:
7676
steps:
7777
- uses: actions/checkout@v6
7878
- uses: ./.github/actions/setup-ruby
79+
with:
80+
job-name: Minitest
7981
- name: Minitest
8082
working-directory: ./ruby
8183
run: ruby test/application_test.rb
84+
brakeman:
85+
timeout-minutes: 10
86+
runs-on: ubuntu-latest
87+
needs: change-detection
88+
if: needs.change-detection.outputs.ruby-changes == 'true'
89+
steps:
90+
- uses: actions/checkout@v6
91+
- uses: ./.github/actions/setup-ruby
92+
with:
93+
job-name: Brakeman
94+
- name: Brakeman
95+
working-directory: ./ruby
96+
run: brakeman --no-pager
8297
rubocop:
8398
timeout-minutes: 10
8499
runs-on: ubuntu-latest
@@ -87,6 +102,8 @@ jobs:
87102
steps:
88103
- uses: actions/checkout@v6
89104
- uses: ./.github/actions/setup-ruby
105+
with:
106+
job-name: RuboCop
90107
- name: RuboCop
91108
working-directory: ./ruby
92109
run: rubocop
@@ -98,6 +115,8 @@ jobs:
98115
steps:
99116
- uses: actions/checkout@v6
100117
- uses: ./.github/actions/setup-ruby
118+
with:
119+
job-name: Steep
101120
- name: Steep
102121
working-directory: ./ruby
103122
run: |

ruby/Gemfile

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
11
source 'https://rubygems.org'
22

3-
gem 'rbs-inline', '~> 0.13.0', require: false
4-
gem 'rubocop', '~> 1.86.1', require: false
5-
gem 'rubocop-minitest', '~> 0.39.1', require: false
6-
gem 'rubocop-performance', '~> 1.26.1', require: false
7-
gem 'steep', '~> 2.0.0', require: false
3+
group :brakeman do
4+
gem 'brakeman', '~> 8.0.4', require: false
5+
end
6+
7+
group :rubocop do
8+
gem 'rubocop', '~> 1.86.1', require: false
9+
gem 'rubocop-minitest', '~> 0.39.1', require: false
10+
gem 'rubocop-performance', '~> 1.26.1', require: false
11+
end
12+
13+
group :steep do
14+
gem 'rbs-inline', '~> 0.13.0', require: false
15+
gem 'steep', '~> 2.0.0', require: false
16+
end

ruby/Gemfile.lock

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ GEM
22
remote: https://rubygems.org/
33
specs:
44
ast (2.4.3)
5+
brakeman (8.0.4)
6+
racc
57
concurrent-ruby (1.3.6)
68
csv (3.3.5)
79
ffi (1.17.4-x86_64-linux-gnu)
@@ -85,6 +87,7 @@ PLATFORMS
8587
x86_64-linux-gnu
8688

8789
DEPENDENCIES
90+
brakeman (~> 8.0.4)
8891
rbs-inline (~> 0.13.0)
8992
rubocop (~> 1.86.1)
9093
rubocop-minitest (~> 0.39.1)
@@ -93,6 +96,7 @@ DEPENDENCIES
9396

9497
CHECKSUMS
9598
ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
99+
brakeman (8.0.4) sha256=7bf921fa9638544835df9aa7b3e720a9a72c0267f34f92135955edd80d4dcf6f
96100
concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab
97101
csv (3.3.5) sha256=6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f
98102
ffi (1.17.4-x86_64-linux-gnu) sha256=9d3db14c2eae074b382fa9c083fe95aec6e0a1451da249eab096c34002bc752d

0 commit comments

Comments
 (0)