code-foundry 0.31.1 → 0.31.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/actions/setup/action.yml +2 -2
- package/.github/workflows/ci.yml +16 -12
- package/.github/workflows/codeql.yml +11 -6
- package/.github/workflows/release.yml +9 -3
- package/.github/workflows/security.yml +14 -10
- package/.github/workflows/test.yml +16 -12
- package/CHANGELOG.md +15 -0
- package/package.json +1 -1
- package/src/lib/release-policy.mjs +3 -0
|
@@ -723,7 +723,7 @@ runs:
|
|
|
723
723
|
path: ~/.cargo/advisory-db
|
|
724
724
|
# The advisory database is independent of project dependencies. Keep
|
|
725
725
|
# it warm for Security without invalidating it on every lockfile edit.
|
|
726
|
-
key: ${{ runner.os }}-rust-advisory
|
|
726
|
+
key: ${{ runner.os }}-rust-advisory-code-foundry-v1
|
|
727
727
|
restore-keys: |
|
|
728
728
|
${{ runner.os }}-rust-advisory-
|
|
729
729
|
- name: Cache Rust builds
|
|
@@ -773,7 +773,7 @@ runs:
|
|
|
773
773
|
REPO_FOUNDRY_INSTALL_PYTHON: ${{ inputs.install-python }}
|
|
774
774
|
REPO_FOUNDRY_INSTALL_RUST: ${{ inputs.install-rust }}
|
|
775
775
|
REPO_FOUNDRY_TASK: ${{ inputs.task }}
|
|
776
|
-
run: node
|
|
776
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci install
|
|
777
777
|
- name: Measure Bun dependencies
|
|
778
778
|
id: javascript-bun-cache
|
|
779
779
|
if: >-
|
package/.github/workflows/ci.yml
CHANGED
|
@@ -58,10 +58,11 @@ jobs:
|
|
|
58
58
|
- name: Install runtime
|
|
59
59
|
run: |
|
|
60
60
|
mkdir -p .github/actions
|
|
61
|
-
|
|
61
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
62
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
62
63
|
- name: Detect
|
|
63
64
|
id: applicability
|
|
64
|
-
run: node
|
|
65
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci should_run format >> "$GITHUB_OUTPUT"
|
|
65
66
|
- name: Setup
|
|
66
67
|
if: steps.applicability.outputs.applicable == 'true'
|
|
67
68
|
uses: ./.github/actions/setup
|
|
@@ -76,7 +77,7 @@ jobs:
|
|
|
76
77
|
task: format
|
|
77
78
|
- name: Format
|
|
78
79
|
if: steps.applicability.outputs.applicable == 'true'
|
|
79
|
-
run: node
|
|
80
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci format
|
|
80
81
|
|
|
81
82
|
lint:
|
|
82
83
|
name: Lint
|
|
@@ -97,10 +98,11 @@ jobs:
|
|
|
97
98
|
- name: Install runtime
|
|
98
99
|
run: |
|
|
99
100
|
mkdir -p .github/actions
|
|
100
|
-
|
|
101
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
102
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
101
103
|
- name: Detect
|
|
102
104
|
id: applicability
|
|
103
|
-
run: node
|
|
105
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci should_run lint >> "$GITHUB_OUTPUT"
|
|
104
106
|
- name: Setup
|
|
105
107
|
if: steps.applicability.outputs.applicable == 'true'
|
|
106
108
|
uses: ./.github/actions/setup
|
|
@@ -110,7 +112,7 @@ jobs:
|
|
|
110
112
|
task: lint
|
|
111
113
|
- name: Lint
|
|
112
114
|
if: steps.applicability.outputs.applicable == 'true'
|
|
113
|
-
run: node
|
|
115
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci lint
|
|
114
116
|
|
|
115
117
|
type-check:
|
|
116
118
|
name: Type-Check
|
|
@@ -131,10 +133,11 @@ jobs:
|
|
|
131
133
|
- name: Install runtime
|
|
132
134
|
run: |
|
|
133
135
|
mkdir -p .github/actions
|
|
134
|
-
|
|
136
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
137
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
135
138
|
- name: Detect
|
|
136
139
|
id: applicability
|
|
137
|
-
run: node
|
|
140
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci should_run type_check >> "$GITHUB_OUTPUT"
|
|
138
141
|
- name: Setup
|
|
139
142
|
if: steps.applicability.outputs.applicable == 'true'
|
|
140
143
|
uses: ./.github/actions/setup
|
|
@@ -144,7 +147,7 @@ jobs:
|
|
|
144
147
|
task: type_check
|
|
145
148
|
- name: Type-Check
|
|
146
149
|
if: steps.applicability.outputs.applicable == 'true'
|
|
147
|
-
run: node
|
|
150
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci type_check
|
|
148
151
|
|
|
149
152
|
build:
|
|
150
153
|
name: Build
|
|
@@ -170,10 +173,11 @@ jobs:
|
|
|
170
173
|
- name: Install runtime
|
|
171
174
|
run: |
|
|
172
175
|
mkdir -p .github/actions
|
|
173
|
-
|
|
176
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
177
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
174
178
|
- name: Detect
|
|
175
179
|
id: applicability
|
|
176
|
-
run: node
|
|
180
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci should_run build >> "$GITHUB_OUTPUT"
|
|
177
181
|
- name: Setup
|
|
178
182
|
if: steps.applicability.outputs.applicable == 'true'
|
|
179
183
|
uses: ./.github/actions/setup
|
|
@@ -183,4 +187,4 @@ jobs:
|
|
|
183
187
|
task: build
|
|
184
188
|
- name: Build
|
|
185
189
|
if: steps.applicability.outputs.applicable == 'true'
|
|
186
|
-
run: node
|
|
190
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci build
|
|
@@ -98,7 +98,8 @@ jobs:
|
|
|
98
98
|
- name: Install runtime
|
|
99
99
|
run: |
|
|
100
100
|
mkdir -p .github/actions
|
|
101
|
-
|
|
101
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
102
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
102
103
|
- id: languages
|
|
103
104
|
name: Detect languages
|
|
104
105
|
env:
|
|
@@ -106,7 +107,7 @@ jobs:
|
|
|
106
107
|
REPO_FOUNDRY_CODE_SECURITY: ${{ steps.security.outputs.status }}
|
|
107
108
|
REPO_FOUNDRY_PRIVATE: ${{ github.event.repository.private }}
|
|
108
109
|
REPO_FOUNDRY_VISIBILITY: ${{ github.event.repository.visibility }}
|
|
109
|
-
run: node
|
|
110
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs codeql
|
|
110
111
|
|
|
111
112
|
analyze-actions:
|
|
112
113
|
name: Analyze (Actions)
|
|
@@ -144,7 +145,8 @@ jobs:
|
|
|
144
145
|
needs.detect.outputs.actions_changed == 'true'
|
|
145
146
|
run: |
|
|
146
147
|
mkdir -p .github/actions
|
|
147
|
-
|
|
148
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
149
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
148
150
|
- name: Analyze
|
|
149
151
|
if: >-
|
|
150
152
|
needs.detect.outputs.enabled == 'true' &&
|
|
@@ -198,7 +200,8 @@ jobs:
|
|
|
198
200
|
needs.detect.outputs.javascript_changed == 'true'
|
|
199
201
|
run: |
|
|
200
202
|
mkdir -p .github/actions
|
|
201
|
-
|
|
203
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
204
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
202
205
|
- name: Analyze
|
|
203
206
|
if: >-
|
|
204
207
|
needs.detect.outputs.enabled == 'true' &&
|
|
@@ -252,7 +255,8 @@ jobs:
|
|
|
252
255
|
needs.detect.outputs.python_changed == 'true'
|
|
253
256
|
run: |
|
|
254
257
|
mkdir -p .github/actions
|
|
255
|
-
|
|
258
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
259
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
256
260
|
- name: Analyze
|
|
257
261
|
if: >-
|
|
258
262
|
needs.detect.outputs.enabled == 'true' &&
|
|
@@ -306,7 +310,8 @@ jobs:
|
|
|
306
310
|
needs.detect.outputs.rust_changed == 'true'
|
|
307
311
|
run: |
|
|
308
312
|
mkdir -p .github/actions
|
|
309
|
-
|
|
313
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
314
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
310
315
|
- name: Analyze
|
|
311
316
|
if: >-
|
|
312
317
|
needs.detect.outputs.enabled == 'true' &&
|
|
@@ -57,6 +57,8 @@ jobs:
|
|
|
57
57
|
ref: ${{ inputs.runtime-ref }}
|
|
58
58
|
path: .github/.code-foundry
|
|
59
59
|
sparse-checkout: src
|
|
60
|
+
- name: Prepare runtime
|
|
61
|
+
run: mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
60
62
|
- name: Detect release profile
|
|
61
63
|
id: profile
|
|
62
64
|
run: |
|
|
@@ -117,7 +119,7 @@ jobs:
|
|
|
117
119
|
GH_TOKEN: ${{ secrets.RELEASE_PLEASE_TOKEN }}
|
|
118
120
|
run: |
|
|
119
121
|
set -euo pipefail
|
|
120
|
-
node
|
|
122
|
+
node $RUNNER_TEMP/code-foundry/src/cli.mjs release validate-prs
|
|
121
123
|
mapfile -t release_prs < <(
|
|
122
124
|
gh pr list \
|
|
123
125
|
--repo "$GITHUB_REPOSITORY" \
|
|
@@ -159,6 +161,8 @@ jobs:
|
|
|
159
161
|
sparse-checkout: |
|
|
160
162
|
src
|
|
161
163
|
release-please-config.json
|
|
164
|
+
- name: Prepare runtime
|
|
165
|
+
run: mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
162
166
|
- name: Check staging branch
|
|
163
167
|
id: staging
|
|
164
168
|
run: |
|
|
@@ -170,7 +174,7 @@ jobs:
|
|
|
170
174
|
fi
|
|
171
175
|
- name: Reconcile release metadata
|
|
172
176
|
if: steps.staging.outputs.exists == 'true'
|
|
173
|
-
run: node
|
|
177
|
+
run: node $RUNNER_TEMP/code-foundry/src/cli.mjs release reconcile --github --base main --head staging
|
|
174
178
|
- name: Skip without staging
|
|
175
179
|
if: steps.staging.outputs.exists != 'true'
|
|
176
180
|
run: echo 'No staging branch exists; release reconciliation is not applicable.'
|
|
@@ -202,6 +206,8 @@ jobs:
|
|
|
202
206
|
ref: ${{ inputs.runtime-ref }}
|
|
203
207
|
path: .github/.code-foundry
|
|
204
208
|
sparse-checkout: src
|
|
209
|
+
- name: Prepare runtime
|
|
210
|
+
run: mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
205
211
|
- name: Detect post-release hook
|
|
206
212
|
id: hook
|
|
207
213
|
run: |
|
|
@@ -221,7 +227,7 @@ jobs:
|
|
|
221
227
|
NODE
|
|
222
228
|
- name: Dispatch post-release hook once
|
|
223
229
|
if: steps.hook.outputs.enabled == 'true' && steps.hook.outputs.workflow != ''
|
|
224
|
-
run: node
|
|
230
|
+
run: node $RUNNER_TEMP/code-foundry/src/cli.mjs release hook --tag '${{ needs.release.outputs.tag_name }}' --workflow '${{ steps.hook.outputs.workflow }}' --mode '${{ steps.hook.outputs.mode }}'
|
|
225
231
|
- name: Explain disabled post-release hook
|
|
226
232
|
if: steps.hook.outputs.enabled != 'true' || steps.hook.outputs.workflow == ''
|
|
227
233
|
run: echo 'No post-release workflow configured; artifact delivery is intentionally skipped.'
|
|
@@ -89,13 +89,14 @@ jobs:
|
|
|
89
89
|
- name: Install runtime
|
|
90
90
|
run: |
|
|
91
91
|
mkdir -p .github/actions
|
|
92
|
-
|
|
92
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
93
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
93
94
|
- name: Detect
|
|
94
95
|
id: profile
|
|
95
96
|
env:
|
|
96
97
|
REPO_FOUNDRY_PRIVATE: ${{ github.event.repository.private }}
|
|
97
98
|
REPO_FOUNDRY_VISIBILITY: ${{ github.event.repository.visibility }}
|
|
98
|
-
run: node
|
|
99
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs security profile >> "$GITHUB_OUTPUT"
|
|
99
100
|
|
|
100
101
|
dependency-audit-javascript:
|
|
101
102
|
name: Dependency Audit (JavaScript)
|
|
@@ -135,10 +136,11 @@ jobs:
|
|
|
135
136
|
- name: Install runtime
|
|
136
137
|
run: |
|
|
137
138
|
mkdir -p .github/actions
|
|
138
|
-
|
|
139
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
140
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
139
141
|
- name: Detect
|
|
140
142
|
id: applicability
|
|
141
|
-
run: node
|
|
143
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs security should_run javascript >> "$GITHUB_OUTPUT"
|
|
142
144
|
- name: Setup
|
|
143
145
|
if: steps.applicability.outputs.applicable == 'true'
|
|
144
146
|
uses: ./.github/actions/setup
|
|
@@ -147,7 +149,7 @@ jobs:
|
|
|
147
149
|
cache-save: ${{ github.event_name != 'pull_request' }}
|
|
148
150
|
- name: Audit dependencies
|
|
149
151
|
if: steps.applicability.outputs.applicable == 'true'
|
|
150
|
-
run: node
|
|
152
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs security audit javascript
|
|
151
153
|
|
|
152
154
|
dependency-audit-rust:
|
|
153
155
|
name: Dependency Audit (Rust)
|
|
@@ -181,10 +183,11 @@ jobs:
|
|
|
181
183
|
- name: Install runtime
|
|
182
184
|
run: |
|
|
183
185
|
mkdir -p .github/actions
|
|
184
|
-
|
|
186
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
187
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
185
188
|
- name: Detect
|
|
186
189
|
id: applicability
|
|
187
|
-
run: node
|
|
190
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs security should_run rust >> "$GITHUB_OUTPUT"
|
|
188
191
|
- name: Check Rust
|
|
189
192
|
id: system-rust
|
|
190
193
|
if: steps.applicability.outputs.applicable == 'true'
|
|
@@ -212,7 +215,7 @@ jobs:
|
|
|
212
215
|
tool: cargo-audit
|
|
213
216
|
- name: Audit dependencies
|
|
214
217
|
if: steps.applicability.outputs.applicable == 'true'
|
|
215
|
-
run: node
|
|
218
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs security audit rust
|
|
216
219
|
|
|
217
220
|
dependency-audit-python:
|
|
218
221
|
name: Dependency Audit (Python) / ${{ matrix.requirement }}
|
|
@@ -261,14 +264,15 @@ jobs:
|
|
|
261
264
|
- name: Install runtime
|
|
262
265
|
run: |
|
|
263
266
|
mkdir -p .github/actions
|
|
264
|
-
|
|
267
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
268
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
265
269
|
- name: Setup
|
|
266
270
|
uses: ./.github/actions/setup
|
|
267
271
|
with:
|
|
268
272
|
mise-scope: python
|
|
269
273
|
cache-save: ${{ github.event_name != 'pull_request' }}
|
|
270
274
|
- name: Audit dependencies
|
|
271
|
-
run: node
|
|
275
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs security audit python
|
|
272
276
|
|
|
273
277
|
dependency-audit-python-gate:
|
|
274
278
|
name: Dependency Audit (Python)
|
|
@@ -66,10 +66,11 @@ jobs:
|
|
|
66
66
|
- name: Install runtime
|
|
67
67
|
run: |
|
|
68
68
|
mkdir -p .github/actions
|
|
69
|
-
|
|
69
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
70
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
70
71
|
- name: Detect
|
|
71
72
|
id: applicability
|
|
72
|
-
run: node
|
|
73
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci task_profile unit >> "$GITHUB_OUTPUT"
|
|
73
74
|
- name: Setup
|
|
74
75
|
if: steps.applicability.outputs.applicable == 'true'
|
|
75
76
|
uses: ./.github/actions/setup
|
|
@@ -87,7 +88,7 @@ jobs:
|
|
|
87
88
|
task-rust: ${{ steps.applicability.outputs.rust }}
|
|
88
89
|
- name: Unit
|
|
89
90
|
if: steps.applicability.outputs.applicable == 'true'
|
|
90
|
-
run: node
|
|
91
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci unit
|
|
91
92
|
- name: Upload coverage
|
|
92
93
|
if: >-
|
|
93
94
|
always() &&
|
|
@@ -127,10 +128,11 @@ jobs:
|
|
|
127
128
|
- name: Install runtime
|
|
128
129
|
run: |
|
|
129
130
|
mkdir -p .github/actions
|
|
130
|
-
|
|
131
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
132
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
131
133
|
- name: Detect
|
|
132
134
|
id: applicability
|
|
133
|
-
run: node
|
|
135
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci task_profile integration >> "$GITHUB_OUTPUT"
|
|
134
136
|
- name: Setup
|
|
135
137
|
if: steps.applicability.outputs.applicable == 'true'
|
|
136
138
|
uses: ./.github/actions/setup
|
|
@@ -148,7 +150,7 @@ jobs:
|
|
|
148
150
|
task-rust: ${{ steps.applicability.outputs.rust }}
|
|
149
151
|
- name: Integration
|
|
150
152
|
if: steps.applicability.outputs.applicable == 'true'
|
|
151
|
-
run: node
|
|
153
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci integration
|
|
152
154
|
|
|
153
155
|
e2e:
|
|
154
156
|
name: E2E
|
|
@@ -172,10 +174,11 @@ jobs:
|
|
|
172
174
|
- name: Install runtime
|
|
173
175
|
run: |
|
|
174
176
|
mkdir -p .github/actions
|
|
175
|
-
|
|
177
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
178
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
176
179
|
- name: Detect
|
|
177
180
|
id: applicability
|
|
178
|
-
run: node
|
|
181
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci task_profile e2e >> "$GITHUB_OUTPUT"
|
|
179
182
|
- name: Cache browser binaries
|
|
180
183
|
if: steps.applicability.outputs.applicable == 'true' && steps.applicability.outputs.browser == 'true'
|
|
181
184
|
uses: ./.github/actions/cache
|
|
@@ -205,7 +208,7 @@ jobs:
|
|
|
205
208
|
task-rust: ${{ steps.applicability.outputs.rust }}
|
|
206
209
|
- name: E2E
|
|
207
210
|
if: steps.applicability.outputs.applicable == 'true'
|
|
208
|
-
run: node
|
|
211
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci e2e
|
|
209
212
|
|
|
210
213
|
smoke:
|
|
211
214
|
name: Smoke
|
|
@@ -229,10 +232,11 @@ jobs:
|
|
|
229
232
|
- name: Install runtime
|
|
230
233
|
run: |
|
|
231
234
|
mkdir -p .github/actions
|
|
232
|
-
|
|
235
|
+
mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
|
|
236
|
+
cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
|
|
233
237
|
- name: Detect
|
|
234
238
|
id: applicability
|
|
235
|
-
run: node
|
|
239
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci task_profile smoke >> "$GITHUB_OUTPUT"
|
|
236
240
|
- name: Setup
|
|
237
241
|
if: steps.applicability.outputs.applicable == 'true'
|
|
238
242
|
uses: ./.github/actions/setup
|
|
@@ -250,4 +254,4 @@ jobs:
|
|
|
250
254
|
task-rust: ${{ steps.applicability.outputs.rust }}
|
|
251
255
|
- name: Smoke
|
|
252
256
|
if: steps.applicability.outputs.applicable == 'true'
|
|
253
|
-
run: node
|
|
257
|
+
run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs ci smoke
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.31.3](https://github.com/0xPlayerOne/code-foundry/compare/v0.31.2...v0.31.3) (2026-07-29)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **ci:** isolate runtime from consumer tooling ([9bb07da](https://github.com/0xPlayerOne/code-foundry/commit/9bb07daa383a3ec89a57c6279546f1d8d4483457))
|
|
9
|
+
* **ci:** keep runtime out of project tooling ([0aec04a](https://github.com/0xPlayerOne/code-foundry/commit/0aec04a01f6378f165b83dbedde670ddee61657e))
|
|
10
|
+
|
|
11
|
+
## [0.31.2](https://github.com/0xPlayerOne/code-foundry/compare/v0.31.1...v0.31.2) (2026-07-29)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* **release:** treat identical branch trees as aligned ([32b739e](https://github.com/0xPlayerOne/code-foundry/commit/32b739e8e663dca05fd89005b26c6457ec265c1c))
|
|
17
|
+
|
|
3
18
|
## [0.31.1](https://github.com/0xPlayerOne/code-foundry/compare/v0.31.0...v0.31.1) (2026-07-29)
|
|
4
19
|
|
|
5
20
|
|
package/package.json
CHANGED
|
@@ -165,6 +165,9 @@ export function classifyReconciliation(input) {
|
|
|
165
165
|
if (mainSha === mergeBaseSha) {
|
|
166
166
|
return { action: 'none', reason: 'staging contains commits that are not on main; no release-only reconciliation is needed.' }
|
|
167
167
|
}
|
|
168
|
+
if (!mainChangedPaths.length && !stagingChangedPaths.length) {
|
|
169
|
+
return { action: 'aligned', reason: 'Branches have different history but identical content.' }
|
|
170
|
+
}
|
|
168
171
|
const unexpectedMain = unexpectedReleasePaths(mainChangedPaths, allowed)
|
|
169
172
|
const unexpectedStaging = unexpectedReleasePaths(stagingChangedPaths, allowed)
|
|
170
173
|
if (unexpectedMain.length || unexpectedStaging.length) {
|