code-foundry 1.5.1 → 1.5.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.
@@ -210,6 +210,61 @@ jobs:
210
210
  mkdir -p .github/actions
211
211
  mv .github/.code-foundry "$RUNNER_TEMP/code-foundry"
212
212
  cp -R "$RUNNER_TEMP/code-foundry/.github/actions/." .github/actions/
213
+ - name: Detect audit toolchain
214
+ id: audit-toolchain
215
+ shell: bash
216
+ env:
217
+ REPO_FOUNDRY_LANGUAGE: ${{ matrix.entry.language }}
218
+ run: |
219
+ toolchain=auto
220
+ configured_toolchain=''
221
+ configured_package_manager=''
222
+ if [ -f .github/code-foundry.yml ]; then
223
+ configured_toolchain="$(awk -F': ' '/^toolchain:/ {print $2; exit}' .github/code-foundry.yml)"
224
+ configured_package_manager="$(awk -F': ' '/^package_manager:/ {print $2; exit}' .github/code-foundry.yml)"
225
+ fi
226
+ [ -n "$configured_toolchain" ] && toolchain="$configured_toolchain"
227
+ if [ "$toolchain" = auto ] && [ -f .mise.toml ]; then toolchain=mise; fi
228
+
229
+ package_manager=none
230
+ case "$configured_package_manager" in
231
+ bun|pnpm|yarn|npm|none) package_manager="$configured_package_manager" ;;
232
+ *)
233
+ if [ -f bun.lock ] || [ -f bun.lockb ]; then package_manager=bun
234
+ elif [ -f pnpm-lock.yaml ]; then package_manager=pnpm
235
+ elif [ -f yarn.lock ]; then package_manager=yarn
236
+ elif [ -f package-lock.json ]; then package_manager=npm
237
+ elif [ -f package.json ]; then package_manager=bun
238
+ fi
239
+ ;;
240
+ esac
241
+
242
+ mise_tools=''
243
+ configured_tool() {
244
+ [ -f .mise.toml ] && grep -Eq "^$1[[:space:]]*=" .mise.toml
245
+ }
246
+ add_mise_tool() {
247
+ configured_tool "$1" || return 0
248
+ if [ -n "$mise_tools" ]; then mise_tools="$mise_tools $1"; else mise_tools="$1"; fi
249
+ }
250
+ if [ "$toolchain" = mise ] && [ -f .mise.toml ]; then
251
+ case "$REPO_FOUNDRY_LANGUAGE" in
252
+ javascript)
253
+ add_mise_tool node
254
+ [ "$package_manager" = bun ] && add_mise_tool bun
255
+ ;;
256
+ python)
257
+ add_mise_tool python
258
+ add_mise_tool uv
259
+ add_mise_tool ruff
260
+ ;;
261
+ rust) add_mise_tool rust ;;
262
+ esac
263
+ fi
264
+
265
+ printf 'toolchain_mode=%s\n' "$toolchain" >> "$GITHUB_OUTPUT"
266
+ printf 'package_manager=%s\n' "$package_manager" >> "$GITHUB_OUTPUT"
267
+ printf 'mise_tools=%s\n' "$mise_tools" >> "$GITHUB_OUTPUT"
213
268
  - name: Detect JavaScript
214
269
  id: applicability-javascript
215
270
  if: matrix.entry.language == 'javascript'
@@ -218,14 +273,39 @@ jobs:
218
273
  id: applicability-rust
219
274
  if: matrix.entry.language == 'rust'
220
275
  run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs security should_run rust >> "$GITHUB_OUTPUT"
221
- - name: Setup JavaScript
276
+ - name: Setup mise toolchain
277
+ if: steps.audit-toolchain.outputs.mise_tools != ''
278
+ uses: jdx/mise-action@c2a87611a18de5b3828c5652fe268e992400cb5c # v4
279
+ with:
280
+ cache: false
281
+ install_args: ${{ steps.audit-toolchain.outputs.mise_tools }}
282
+ - name: Setup Node
222
283
  if: >-
223
284
  matrix.entry.language == 'javascript' &&
224
- steps.applicability-javascript.outputs.applicable == 'true'
225
- uses: ./.github/actions/setup
285
+ steps.applicability-javascript.outputs.applicable == 'true' &&
286
+ steps.audit-toolchain.outputs.toolchain_mode != 'mise' &&
287
+ steps.audit-toolchain.outputs.package_manager != 'bun' &&
288
+ steps.audit-toolchain.outputs.package_manager != 'none'
289
+ uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
226
290
  with:
227
- mise-scope: javascript
228
- cache-save: ${{ github.event_name == 'push' }}
291
+ node-version: 24
292
+ - name: Setup Bun
293
+ if: >-
294
+ matrix.entry.language == 'javascript' &&
295
+ steps.applicability-javascript.outputs.applicable == 'true' &&
296
+ steps.audit-toolchain.outputs.toolchain_mode != 'mise' &&
297
+ steps.audit-toolchain.outputs.package_manager == 'bun'
298
+ uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2
299
+ with:
300
+ bun-version: 1.4.0
301
+ - name: Enable Corepack
302
+ if: >-
303
+ matrix.entry.language == 'javascript' &&
304
+ steps.applicability-javascript.outputs.applicable == 'true' &&
305
+ (steps.audit-toolchain.outputs.package_manager == 'pnpm' ||
306
+ steps.audit-toolchain.outputs.package_manager == 'yarn')
307
+ shell: bash
308
+ run: corepack enable
229
309
  - name: Audit JavaScript dependencies
230
310
  if: >-
231
311
  matrix.entry.language == 'javascript' &&
@@ -249,11 +329,9 @@ jobs:
249
329
  if: >-
250
330
  matrix.entry.language == 'rust' &&
251
331
  steps.applicability-rust.outputs.applicable == 'true' &&
332
+ steps.audit-toolchain.outputs.toolchain_mode != 'mise' &&
252
333
  steps.system-rust.outputs.available != 'true'
253
- uses: ./.github/actions/setup
254
- with:
255
- mise-scope: rust
256
- cache-save: ${{ github.event_name == 'push' }}
334
+ uses: dtolnay/rust-toolchain@6bed0761d98439e5a578e2877258200ad565ba87 # stable
257
335
  - name: Install cargo-audit
258
336
  if: >-
259
337
  matrix.entry.language == 'rust' &&
@@ -267,11 +345,28 @@ jobs:
267
345
  steps.applicability-rust.outputs.applicable == 'true'
268
346
  run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs security audit rust
269
347
  - name: Setup Python
348
+ if: >-
349
+ matrix.entry.language == 'python' &&
350
+ steps.audit-toolchain.outputs.toolchain_mode != 'mise'
351
+ uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
352
+ with:
353
+ python-version: '3.13'
354
+ - name: Check uv
355
+ id: uv
270
356
  if: matrix.entry.language == 'python'
271
- uses: ./.github/actions/setup
357
+ shell: bash
358
+ run: |
359
+ if command -v uv >/dev/null 2>&1; then
360
+ echo 'available=true' >> "$GITHUB_OUTPUT"
361
+ else
362
+ echo 'available=false' >> "$GITHUB_OUTPUT"
363
+ fi
364
+ - name: Setup uv
365
+ if: matrix.entry.language == 'python' && steps.uv.outputs.available != 'true'
366
+ uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
272
367
  with:
273
- mise-scope: python
274
- cache-save: ${{ github.event_name == 'push' }}
368
+ version: 0.11.32
369
+ enable-cache: false
275
370
  - name: Audit Python dependencies
276
371
  if: matrix.entry.language == 'python'
277
372
  run: node $RUNNER_TEMP/code-foundry/src/runtime.mjs security audit python
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.5.3](https://github.com/0xPlayerOne/code-foundry/compare/v1.5.2...v1.5.3) (2026-09-08)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **security:** remove cache-capable setup from audits ([#489](https://github.com/0xPlayerOne/code-foundry/issues/489)) ([47bd1d9](https://github.com/0xPlayerOne/code-foundry/commit/47bd1d9495a02dd2abcb2fee82052136b7a3675d))
9
+
10
+ ## [1.5.2](https://github.com/0xPlayerOne/code-foundry/compare/v1.5.1...v1.5.2) (2026-09-08)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **workflows:** disable security cache writes ([#487](https://github.com/0xPlayerOne/code-foundry/issues/487)) ([f484a9b](https://github.com/0xPlayerOne/code-foundry/commit/f484a9b014b731bc1ae48e4b69a0ac3ae6c07ef6))
16
+
3
17
  ## [1.5.1](https://github.com/0xPlayerOne/code-foundry/compare/v1.5.0...v1.5.1) (2026-09-08)
4
18
 
5
19
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "code-foundry",
3
- "version": "1.5.1",
3
+ "version": "1.5.3",
4
4
  "description": "A fast, language-aware repository factory for agent-ready workflows, testing, security, and release automation.",
5
5
  "homepage": "https://github.com/0xPlayerOne/code-foundry#readme",
6
6
  "bugs": {