Skip to content

Commit 34580c0

Browse files
justin808claude
andcommitted
Fix Pro workflow gem installation path mismatch
The Pro workflows were failing because of a path confusion issue: - Job-level defaults set working-directory: react_on_rails_pro - Bundle install step explicitly set working-directory: . - This caused gems to install to /vendor/bundle (root) - But cache was configured for react_on_rails_pro/vendor/bundle - Result: gem-release and other development dependencies not found Solution: - Remove job-level defaults.run.working-directory - Add explicit working-directory to each step that needs it - Ensures cache path and install path are aligned - Follows pattern from other workflows (integration-tests.yml) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 3a1784c commit 34580c0

File tree

2 files changed

+22
-6
lines changed

2 files changed

+22
-6
lines changed

.github/workflows/pro-lint.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ on:
2020
type: boolean
2121
default: false
2222

23-
defaults:
24-
run:
25-
working-directory: react_on_rails_pro
23+
# No default working-directory to avoid path confusion
24+
# Each step explicitly sets working-directory as needed
2625

2726
jobs:
2827
detect-changes:
@@ -100,6 +99,7 @@ jobs:
10099
cache-dependency-path: 'react_on_rails_pro/**/yarn.lock'
101100

102101
- name: Print system information
102+
working-directory: .
103103
run: |
104104
echo "Linux release: "; cat /etc/issue
105105
echo "Current user: "; whoami
@@ -143,23 +143,28 @@ jobs:
143143
bundle _2.5.4_ check || bundle _2.5.4_ install --jobs=4 --retry=3
144144
145145
- name: Install Node modules with Yarn for Pro package
146+
working-directory: react_on_rails_pro
146147
run: |
147148
sudo yarn global add yalc
148149
yarn install --frozen-lockfile --no-progress --no-emoji
149150
150151
- name: Install Ruby Gems for Pro dummy app
152+
working-directory: react_on_rails_pro
151153
run: |
152154
cd spec/dummy
153155
bundle lock --add-platform 'x86_64-linux'
154156
bundle _2.5.4_ check || bundle _2.5.4_ install --jobs=4 --retry=3
155157
156158
- name: Install Node modules with Yarn for Pro dummy app
159+
working-directory: react_on_rails_pro
157160
run: cd spec/dummy && yarn install --frozen-lockfile --no-progress --no-emoji
158161

159162
- name: Install Node modules with Yarn for ExecJS dummy app
163+
working-directory: react_on_rails_pro
160164
run: cd spec/execjs-compatible-dummy && yarn install --frozen-lockfile --no-progress --no-emoji
161165

162166
- name: Generate file-system based entrypoints
167+
working-directory: react_on_rails_pro
163168
run: cd spec/dummy && bundle exec rake react_on_rails:generate_packs
164169

165170
- name: Build react-on-rails package (required for Pro eslint import resolution)
@@ -175,10 +180,13 @@ jobs:
175180
run: bundle exec rake rbs:validate
176181

177182
- name: Lint JS
183+
working-directory: react_on_rails_pro
178184
run: yarn run nps eslint
179185

180186
- name: Check formatting
187+
working-directory: react_on_rails_pro
181188
run: yarn run nps format.listDifferent
182189

183190
- name: Check TypeScript
191+
working-directory: react_on_rails_pro
184192
run: yarn run nps check-typescript

.github/workflows/pro-test-package-and-gem.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ on:
2020
type: boolean
2121
default: false
2222

23-
defaults:
24-
run:
25-
working-directory: react_on_rails_pro
23+
# No default working-directory to avoid path confusion
24+
# Each step explicitly sets working-directory as needed
2625

2726
jobs:
2827
detect-changes:
@@ -131,27 +130,33 @@ jobs:
131130
key: v4-pro-dummy-app-gem-cache-${{ hashFiles('react_on_rails_pro/spec/dummy/Gemfile.lock') }}
132131

133132
- name: Install Node modules with Yarn for Pro package
133+
working-directory: react_on_rails_pro
134134
run: |
135135
sudo yarn global add yalc
136136
yarn install --frozen-lockfile --no-progress --no-emoji
137137
138138
- name: Install Node modules with Yarn for Pro dummy app
139+
working-directory: react_on_rails_pro
139140
run: cd spec/dummy && yarn install --frozen-lockfile --no-progress --no-emoji
140141

141142
- name: Install Ruby Gems for Pro dummy app
143+
working-directory: react_on_rails_pro
142144
run: |
143145
gem install bundler -v "2.5.4"
144146
cd spec/dummy
145147
bundle lock --add-platform 'x86_64-linux'
146148
bundle _2.5.4_ check || bundle _2.5.4_ install --jobs=4 --retry=3
147149
148150
- name: Generate file-system based entrypoints
151+
working-directory: react_on_rails_pro
149152
run: cd spec/dummy && bundle exec rake react_on_rails:generate_packs
150153

151154
- name: Build test bundles for Pro dummy app
155+
working-directory: react_on_rails_pro
152156
run: cd spec/dummy && yarn run build:test
153157

154158
- id: get-sha
159+
working-directory: .
155160
run: echo "sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
156161

157162
- name: Save test webpack bundles to cache
@@ -221,11 +226,13 @@ jobs:
221226
key: v4-pro-package-node-modules-cache-${{ hashFiles('react_on_rails_pro/yarn.lock') }}
222227

223228
- name: Remove old webpack bundles
229+
working-directory: react_on_rails_pro
224230
run: |
225231
rm -rf spec/dummy/public/webpack
226232
rm -rf spec/dummy/ssr-generated
227233
228234
- id: get-sha
235+
working-directory: .
229236
run: echo "sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
230237

231238
- name: Restore test webpack bundles from cache
@@ -243,6 +250,7 @@ jobs:
243250
yarn install --frozen-lockfile --no-progress --no-emoji
244251
245252
- name: Run JS unit tests for Pro package
253+
working-directory: .
246254
run: yarn workspace react-on-rails-pro-node-renderer run ci
247255
env:
248256
JEST_JUNIT_OUTPUT_DIR: ./jest

0 commit comments

Comments
 (0)