code-foundry 0.27.3 → 0.27.5

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.
@@ -751,6 +751,13 @@ runs:
751
751
  with:
752
752
  cache: true
753
753
  install_args: ${{ steps.profile.outputs.mise_tools }}
754
+ - name: Setup Rust components
755
+ if: >-
756
+ steps.profile.outputs.rust == 'true' &&
757
+ (steps.profile.outputs.mise_required == 'true' ||
758
+ steps.profile.outputs.toolchain_mode != 'mise')
759
+ shell: bash
760
+ run: rustup component add rustfmt clippy
754
761
  - name: Use offline Cargo cache
755
762
  if: inputs.install == 'true' && inputs.install-rust == 'true' && steps.rust-packages.outputs.cache-hit == 'true' && hashFiles('**/Cargo.lock') != ''
756
763
  shell: bash
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.27.5](https://github.com/0xPlayerOne/code-foundry/compare/v0.27.4...v0.27.5) (2026-07-28)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **ci:** install Rust formatting and lint components ([16da3fc](https://github.com/0xPlayerOne/code-foundry/commit/16da3fc416e64b2c5c62d2f3a7feaa270134c1a2))
9
+ * **test:** skip absent Python integration suites ([ee932ce](https://github.com/0xPlayerOne/code-foundry/commit/ee932cea048dc94175f395ac49ca65ed9dbb466f))
10
+
11
+ ## [0.27.4](https://github.com/0xPlayerOne/code-foundry/compare/v0.27.3...v0.27.4) (2026-07-28)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **runtime:** resolve Python tools from virtualenv ([788b1ae](https://github.com/0xPlayerOne/code-foundry/commit/788b1ae438451ee57ce55a8669d2710cb8755fcf))
17
+
3
18
  ## [0.27.3](https://github.com/0xPlayerOne/code-foundry/compare/v0.27.2...v0.27.3) (2026-07-28)
4
19
 
5
20
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "code-foundry",
3
- "version": "0.27.3",
3
+ "version": "0.27.5",
4
4
  "description": "A fast, language-aware repository factory for agent-ready workflows, testing, security, and release automation.",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-or-later",
package/src/runtime.mjs CHANGED
@@ -82,6 +82,10 @@ function runScript(names) {
82
82
 
83
83
  /** @param {string} tool @param {string[]} [args] */
84
84
  function runTool(tool, args = []) {
85
+ if (['ruff', 'pytest', 'pylint'].includes(tool)) {
86
+ const venvTool = resolve(root, `.venv/bin/${tool}`)
87
+ if (existsSync(venvTool)) return run(venvTool, args)
88
+ }
85
89
  const [manager] = packageCommand([])
86
90
  if (manager === 'bun') return run('bunx', ['--no-install', tool, ...args])
87
91
  if (manager === 'pnpm') return run('pnpm', ['exec', tool, ...args])
@@ -190,7 +194,10 @@ function ci(task) {
190
194
  if (hasLanguage('rust')) run('cargo', ['test'])
191
195
  if (hasLanguage('python')) {
192
196
  const python = existsSync(resolve(root, '.venv/bin/python')) ? resolve(root, '.venv/bin/python') : 'python'
193
- run(python, ['-m', 'pytest', ...(task === 'integration' ? ['tests/integration'] : [])])
197
+ const integrationTests = resolve(root, 'tests/integration')
198
+ if (task !== 'integration' || existsSync(integrationTests)) {
199
+ run(python, ['-m', 'pytest', ...(task === 'integration' ? ['tests/integration'] : [])])
200
+ }
194
201
  }
195
202
  }
196
203