code-foundry 0.27.12 → 0.27.14
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/workflows/codeql.yml +12 -0
- package/.github/workflows/draft-pr.yml +4 -3
- package/CHANGELOG.md +16 -0
- package/package.json +1 -1
- package/src/commands/sync.mjs +4 -0
- package/src/runtime.mjs +3 -1
- package/src/templates/gitignore +77 -0
|
@@ -111,6 +111,9 @@ jobs:
|
|
|
111
111
|
analyze-actions:
|
|
112
112
|
name: Analyze (Actions)
|
|
113
113
|
needs: detect
|
|
114
|
+
if: >-
|
|
115
|
+
needs.detect.outputs.enabled == 'true' &&
|
|
116
|
+
needs.detect.outputs.actions_available == 'true'
|
|
114
117
|
runs-on: ${{ inputs.runner }}
|
|
115
118
|
timeout-minutes: 30
|
|
116
119
|
steps:
|
|
@@ -162,6 +165,9 @@ jobs:
|
|
|
162
165
|
analyze-typescript:
|
|
163
166
|
name: Analyze (TypeScript)
|
|
164
167
|
needs: detect
|
|
168
|
+
if: >-
|
|
169
|
+
needs.detect.outputs.enabled == 'true' &&
|
|
170
|
+
needs.detect.outputs.javascript_available == 'true'
|
|
165
171
|
runs-on: ${{ inputs.runner }}
|
|
166
172
|
timeout-minutes: 30
|
|
167
173
|
steps:
|
|
@@ -213,6 +219,9 @@ jobs:
|
|
|
213
219
|
analyze-python:
|
|
214
220
|
name: Analyze (Python)
|
|
215
221
|
needs: detect
|
|
222
|
+
if: >-
|
|
223
|
+
needs.detect.outputs.enabled == 'true' &&
|
|
224
|
+
needs.detect.outputs.python_available == 'true'
|
|
216
225
|
runs-on: ${{ inputs.runner }}
|
|
217
226
|
timeout-minutes: 30
|
|
218
227
|
steps:
|
|
@@ -264,6 +273,9 @@ jobs:
|
|
|
264
273
|
analyze-rust:
|
|
265
274
|
name: Analyze (Rust)
|
|
266
275
|
needs: detect
|
|
276
|
+
if: >-
|
|
277
|
+
needs.detect.outputs.enabled == 'true' &&
|
|
278
|
+
needs.detect.outputs.rust_available == 'true'
|
|
267
279
|
runs-on: ${{ inputs.runner }}
|
|
268
280
|
timeout-minutes: 30
|
|
269
281
|
steps:
|
|
@@ -29,7 +29,7 @@ jobs:
|
|
|
29
29
|
id: check-pr
|
|
30
30
|
run: |
|
|
31
31
|
BRANCH="${{ github.ref_name }}"
|
|
32
|
-
EXISTING=$(gh pr list --limit 1 --base staging --head "$BRANCH" --state open --json number,title 2>/dev/null | node -e 'let d=""; process.stdin.on("data", c => d += c).on("end", () => console.log(JSON.parse(d || "[]").length))')
|
|
32
|
+
EXISTING=$(gh pr list --repo "$GITHUB_REPOSITORY" --limit 1 --base staging --head "$BRANCH" --state open --json number,title 2>/dev/null | node -e 'let d=""; process.stdin.on("data", c => d += c).on("end", () => console.log(JSON.parse(d || "[]").length))')
|
|
33
33
|
echo "existing=$EXISTING" >> "$GITHUB_OUTPUT"
|
|
34
34
|
|
|
35
35
|
- name: Create
|
|
@@ -37,6 +37,7 @@ jobs:
|
|
|
37
37
|
run: |
|
|
38
38
|
BRANCH="${{ github.ref_name }}"
|
|
39
39
|
gh pr create \
|
|
40
|
+
--repo "$GITHUB_REPOSITORY" \
|
|
40
41
|
--base staging \
|
|
41
42
|
--head "$BRANCH" \
|
|
42
43
|
--draft \
|
|
@@ -51,7 +52,7 @@ jobs:
|
|
|
51
52
|
if: steps.check-pr.outputs.existing == '0'
|
|
52
53
|
run: |
|
|
53
54
|
BRANCH="${{ github.ref_name }}"
|
|
54
|
-
PR_NUMBER=$(gh pr list --limit 1 --base staging --head "$BRANCH" --state open --json number 2>/dev/null | node -e 'let d=""; process.stdin.on("data", c => d += c).on("end", () => console.log(JSON.parse(d || "[]")[0]?.number || ""))')
|
|
55
|
+
PR_NUMBER=$(gh pr list --repo "$GITHUB_REPOSITORY" --limit 1 --base staging --head "$BRANCH" --state open --json number 2>/dev/null | node -e 'let d=""; process.stdin.on("data", c => d += c).on("end", () => console.log(JSON.parse(d || "[]")[0]?.number || ""))')
|
|
55
56
|
if [ -n "$PR_NUMBER" ]; then
|
|
56
|
-
gh pr ready "$PR_NUMBER"
|
|
57
|
+
gh pr ready "$PR_NUMBER" --repo "$GITHUB_REPOSITORY"
|
|
57
58
|
fi
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.27.14](https://github.com/0xPlayerOne/code-foundry/compare/v0.27.13...v0.27.14) (2026-07-29)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **codeql:** skip unavailable analyzers ([9ddf8e3](https://github.com/0xPlayerOne/code-foundry/commit/9ddf8e30dab4da2ba1f6bb20dd3503e56ab1b880))
|
|
9
|
+
* **draft-pr:** pass repository explicitly ([6fbf289](https://github.com/0xPlayerOne/code-foundry/commit/6fbf289649ce2097e42b156cf2db0c39fb8ceee1))
|
|
10
|
+
* **draft-pr:** use explicit repository for lookups ([e498d6e](https://github.com/0xPlayerOne/code-foundry/commit/e498d6e125099e2437041112e1b3442a7ebea389))
|
|
11
|
+
|
|
12
|
+
## [0.27.13](https://github.com/0xPlayerOne/code-foundry/compare/v0.27.12...v0.27.13) (2026-07-29)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* **sync:** package the gitignore template ([e65c63d](https://github.com/0xPlayerOne/code-foundry/commit/e65c63dcb09a623d5ce0b55f734bbe73719c72f2))
|
|
18
|
+
|
|
3
19
|
## [0.27.12](https://github.com/0xPlayerOne/code-foundry/compare/v0.27.11...v0.27.12) (2026-07-29)
|
|
4
20
|
|
|
5
21
|
|
package/package.json
CHANGED
package/src/commands/sync.mjs
CHANGED
|
@@ -144,6 +144,10 @@ function shouldInclude(file, languages, features) {
|
|
|
144
144
|
|
|
145
145
|
/** @param {string} source @param {string} file */
|
|
146
146
|
function sourcePath(source, file) {
|
|
147
|
+
if (file === '.gitignore') {
|
|
148
|
+
const rootTemplate = join(source, file)
|
|
149
|
+
return existsSync(rootTemplate) ? rootTemplate : join(source, 'src/templates/gitignore')
|
|
150
|
+
}
|
|
147
151
|
if (file.startsWith('.github/workflows/')) {
|
|
148
152
|
const name = file.slice('.github/workflows/'.length, -4)
|
|
149
153
|
return join(source, '.github/workflows', `${name}_self-ci.yml`)
|
package/src/runtime.mjs
CHANGED
|
@@ -276,7 +276,9 @@ function codeql() {
|
|
|
276
276
|
if (hasLanguage('python')) available.push('python')
|
|
277
277
|
if (hasLanguage('rust')) available.push('rust')
|
|
278
278
|
const changed = capture('git', ['diff', '--name-only', process.env.CODEQL_BASE_SHA || 'HEAD^', process.env.GITHUB_SHA || 'HEAD']).split('\n').filter(Boolean)
|
|
279
|
-
|
|
279
|
+
// Upload every configured language on every analysis run so GitHub can
|
|
280
|
+
// compare pull requests against the base branch's code-scanning config.
|
|
281
|
+
const languagesJson = available.map((language) => ({ language, name: language === 'javascript-typescript' ? 'TypeScript' : language[0].toUpperCase() + language.slice(1), 'build-mode': 'none', changed: true }))
|
|
280
282
|
writeOutput('languages', languagesJson)
|
|
281
283
|
for (const language of ['actions', 'javascript-typescript', 'python', 'rust']) {
|
|
282
284
|
const entry = languagesJson.find((item) => item.language === language)
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Operating system
|
|
2
|
+
.DS_Store
|
|
3
|
+
Thumbs.db
|
|
4
|
+
.Trashes
|
|
5
|
+
|
|
6
|
+
# Secrets and local environment
|
|
7
|
+
.env
|
|
8
|
+
.env.*
|
|
9
|
+
!.env.example
|
|
10
|
+
*.pem
|
|
11
|
+
*.key
|
|
12
|
+
|
|
13
|
+
# JavaScript and TypeScript
|
|
14
|
+
node_modules/
|
|
15
|
+
.pnp/
|
|
16
|
+
.pnp.js
|
|
17
|
+
.turbo/
|
|
18
|
+
*.tsbuildinfo
|
|
19
|
+
next-env.d.ts
|
|
20
|
+
|
|
21
|
+
# Python
|
|
22
|
+
.venv/
|
|
23
|
+
venv/
|
|
24
|
+
__pycache__/
|
|
25
|
+
*.py[cod]
|
|
26
|
+
.pytest_cache/
|
|
27
|
+
.ruff_cache/
|
|
28
|
+
.mypy_cache/
|
|
29
|
+
|
|
30
|
+
# Rust
|
|
31
|
+
target/
|
|
32
|
+
|
|
33
|
+
# Build and test output
|
|
34
|
+
dist/
|
|
35
|
+
build/
|
|
36
|
+
out/
|
|
37
|
+
coverage/
|
|
38
|
+
htmlcov/
|
|
39
|
+
.coverage*
|
|
40
|
+
.next/
|
|
41
|
+
artifacts/
|
|
42
|
+
cache/
|
|
43
|
+
!.github/actions/cache/
|
|
44
|
+
!.github/actions/cache/action.yml
|
|
45
|
+
typechain/
|
|
46
|
+
coverage.json
|
|
47
|
+
tests/.bin/
|
|
48
|
+
**/.app/
|
|
49
|
+
|
|
50
|
+
# Logs and temporary files
|
|
51
|
+
*.log
|
|
52
|
+
*.tmp
|
|
53
|
+
*.pid
|
|
54
|
+
npm-debug.log*
|
|
55
|
+
yarn-debug.log*
|
|
56
|
+
pnpm-debug.log*
|
|
57
|
+
|
|
58
|
+
# Editors, agents, and local tools
|
|
59
|
+
.claude/
|
|
60
|
+
.kilo/
|
|
61
|
+
.codex/
|
|
62
|
+
.cursor/
|
|
63
|
+
.windsurf/
|
|
64
|
+
.vscode/
|
|
65
|
+
.idea/
|
|
66
|
+
.zed/
|
|
67
|
+
.fleet/
|
|
68
|
+
.opencode/
|
|
69
|
+
.kluster/
|
|
70
|
+
.direnv/
|
|
71
|
+
.envrc
|
|
72
|
+
.vercel/
|
|
73
|
+
mise.local.toml
|
|
74
|
+
.mise.local.toml
|
|
75
|
+
mise.local.lock
|
|
76
|
+
.mise.local.lock
|
|
77
|
+
*.code-workspace
|