code-foundry 1.44.0 → 1.44.2
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/CONTRIBUTING.md +1 -1
- package/.github/workflows/ci.yml +4 -1
- package/.github/workflows/codeql.yml +4 -1
- package/.github/workflows/consumer-qualification.yml +4 -0
- package/.github/workflows/draft-control_self-ci.yml +4 -0
- package/.github/workflows/eval.yml +4 -1
- package/.github/workflows/opencode-security_self-ci.yml +5 -0
- package/.github/workflows/release-pr.yml +3 -1
- package/.github/workflows/security.yml +4 -1
- package/.github/workflows/test.yml +4 -1
- package/.github/workflows/validation_self-ci.yml +4 -1
- package/AGENTS.md +2 -1
- package/CHANGELOG.md +18 -1634
- package/docs/PERFORMANCE.md +28 -18
- package/docs/qualified-publication.md +3 -1
- package/package.json +1 -1
package/.github/CONTRIBUTING.md
CHANGED
|
@@ -225,7 +225,7 @@ Keep pull requests focused and reviewable. Include screenshots or recordings for
|
|
|
225
225
|
|
|
226
226
|
Draft pull requests do not start validation unless `draft_protection: false` is configured. The lightweight Draft Guard converts ordinary pull requests opened or reopened while ready back to draft; it never checks out pull-request code and it excludes Release Please version heads, whose release workflow owns their state. Marking a pull request ready for review starts the applicable validation tier, and each new commit on a ready pull request reruns that tier for the current head. Draft updates allocate no validation runner while protection is enabled. Converting a pull request to draft runs only the lightweight cancellation control.
|
|
227
227
|
|
|
228
|
-
Pull-request validation keys concurrency by event and pull-request head, so a newer update cancels its superseded run. Scheduled and manual audits use a separate caller pinned to the protected default branch; this prevents caller-selected runtime code from executing with default-branch cache access. Pull-request and scheduled/manual callers use the mode-aware orchestrator, which fans out only the required jobs and concludes with the stable aggregate gate. Main pushes run the default-branch CodeQL lane separately.
|
|
228
|
+
Pull-request validation keys concurrency by event and pull-request head, so a newer update cancels its superseded run. Pushes to `main`, release, promotion, publication, and deployment runs never cancel in progress; a newer run queues behind the current one. Scheduled and manual audits use a separate caller pinned to the protected default branch; this prevents caller-selected runtime code from executing with default-branch cache access. Pull-request and scheduled/manual callers use the mode-aware orchestrator, which fans out only the required jobs and concludes with the stable aggregate gate. Main pushes run the default-branch CodeQL lane separately.
|
|
229
229
|
|
|
230
230
|
Required checks are enforced by branch protection rulesets/branch protection. Do not duplicate their checklists in the pull request description; document validation commands and results instead.
|
|
231
231
|
|
package/.github/workflows/ci.yml
CHANGED
|
@@ -47,7 +47,10 @@ env:
|
|
|
47
47
|
|
|
48
48
|
concurrency:
|
|
49
49
|
group: code-foundry-ci-${{ github.event_name }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.event.pull_request.head.ref || github.ref_name }}
|
|
50
|
-
|
|
50
|
+
# Superseded pull-request runs are cancelled so the newest head owns the
|
|
51
|
+
# group; push and scheduled runs queue instead, because cancelling a main
|
|
52
|
+
# push can drop default-branch analysis or release-adjacent work.
|
|
53
|
+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
51
54
|
|
|
52
55
|
jobs:
|
|
53
56
|
format:
|
|
@@ -52,7 +52,10 @@ env:
|
|
|
52
52
|
|
|
53
53
|
concurrency:
|
|
54
54
|
group: code-foundry-codeql-${{ github.event_name }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.event.pull_request.head.ref || github.ref_name }}
|
|
55
|
-
|
|
55
|
+
# Superseded pull-request runs are cancelled so the newest head owns the
|
|
56
|
+
# group; push and scheduled runs queue instead, because cancelling a main
|
|
57
|
+
# push can drop default-branch analysis or release-adjacent work.
|
|
58
|
+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
56
59
|
|
|
57
60
|
jobs:
|
|
58
61
|
detect:
|
|
@@ -46,6 +46,10 @@ jobs:
|
|
|
46
46
|
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
|
|
47
47
|
with:
|
|
48
48
|
node-version: '24'
|
|
49
|
+
- name: Trim the packaged changelog to recent releases
|
|
50
|
+
# Rewrites only this job's ephemeral checkout; the repository keeps the
|
|
51
|
+
# full CHANGELOG.md that Release Please maintains.
|
|
52
|
+
run: node scripts/package-changelog.mjs CHANGELOG.md
|
|
49
53
|
- name: Pack the distributable once
|
|
50
54
|
id: pack
|
|
51
55
|
run: |
|
|
@@ -43,7 +43,10 @@ env:
|
|
|
43
43
|
|
|
44
44
|
concurrency:
|
|
45
45
|
group: code-foundry-eval-${{ github.event_name }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.event.pull_request.head.ref || github.ref_name }}
|
|
46
|
-
|
|
46
|
+
# Superseded pull-request runs are cancelled so the newest head owns the
|
|
47
|
+
# group; push and scheduled runs queue instead, because cancelling a main
|
|
48
|
+
# push can drop default-branch analysis or release-adjacent work.
|
|
49
|
+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
47
50
|
|
|
48
51
|
jobs:
|
|
49
52
|
eval:
|
|
@@ -11,6 +11,11 @@ on:
|
|
|
11
11
|
permissions:
|
|
12
12
|
contents: read
|
|
13
13
|
|
|
14
|
+
concurrency:
|
|
15
|
+
group: code-foundry-opencode-security-${{ github.event_name }}-${{ github.event.pull_request.number || github.ref }}
|
|
16
|
+
# Only superseded pull-request scans are cancelled; dispatches queue.
|
|
17
|
+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
18
|
+
|
|
14
19
|
jobs:
|
|
15
20
|
detect:
|
|
16
21
|
name: OpenCode Security / Detect
|
|
@@ -28,7 +28,9 @@ jobs:
|
|
|
28
28
|
timeout-minutes: 10
|
|
29
29
|
concurrency:
|
|
30
30
|
group: code-foundry-release-pr-${{ github.repository }}-${{ github.ref }}
|
|
31
|
-
cancel-
|
|
31
|
+
# Promotion updates a release pull request; never cancel it mid-update.
|
|
32
|
+
# A newer push waits, and GitHub keeps only the newest pending run.
|
|
33
|
+
cancel-in-progress: false
|
|
32
34
|
steps:
|
|
33
35
|
- name: Checkout
|
|
34
36
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
@@ -31,7 +31,10 @@ env:
|
|
|
31
31
|
|
|
32
32
|
concurrency:
|
|
33
33
|
group: code-foundry-security-${{ github.event_name }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.event.pull_request.head.ref || github.ref_name }}
|
|
34
|
-
|
|
34
|
+
# Superseded pull-request runs are cancelled so the newest head owns the
|
|
35
|
+
# group; push and scheduled runs queue instead, because cancelling a main
|
|
36
|
+
# push can drop default-branch analysis or release-adjacent work.
|
|
37
|
+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
35
38
|
|
|
36
39
|
jobs:
|
|
37
40
|
profile:
|
|
@@ -69,7 +69,10 @@ env:
|
|
|
69
69
|
|
|
70
70
|
concurrency:
|
|
71
71
|
group: code-foundry-test-${{ github.event_name }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.event.pull_request.head.ref || github.ref_name }}
|
|
72
|
-
|
|
72
|
+
# Superseded pull-request runs are cancelled so the newest head owns the
|
|
73
|
+
# group; push and scheduled runs queue instead, because cancelling a main
|
|
74
|
+
# push can drop default-branch analysis or release-adjacent work.
|
|
75
|
+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
73
76
|
|
|
74
77
|
jobs:
|
|
75
78
|
unit:
|
|
@@ -16,7 +16,10 @@ permissions: {}
|
|
|
16
16
|
# Superseded PR updates cancel the previous run.
|
|
17
17
|
concurrency:
|
|
18
18
|
group: code-foundry-validation-${{ github.event_name }}-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.event.pull_request.head.ref || github.ref_name }}
|
|
19
|
-
|
|
19
|
+
# Superseded pull-request runs are cancelled so the newest head owns the
|
|
20
|
+
# group; push and scheduled runs queue instead, because cancelling a main
|
|
21
|
+
# push can drop default-branch analysis or release-adjacent work.
|
|
22
|
+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
20
23
|
|
|
21
24
|
jobs:
|
|
22
25
|
mode:
|
package/AGENTS.md
CHANGED
|
@@ -240,7 +240,8 @@ readying a pull request.
|
|
|
240
240
|
- Keep workflows concise, independently runnable, and safe to re-run.
|
|
241
241
|
- Use `push` for `main` and `pull_request` for `main` unless a workflow has a documented event-specific reason.
|
|
242
242
|
- Give workflows clear names and jobs concise names; avoid repeating the workflow name in the job name.
|
|
243
|
-
- Use per-workflow concurrency groups that cancel superseded runs while allowing independent workflows to run in parallel.
|
|
243
|
+
- Use per-workflow concurrency groups keyed by pull request or ref that cancel superseded pull-request runs while allowing independent workflows to run in parallel. Do not cancel in progress for pushes to `main`, release, publication, or deployment runs; let them queue.
|
|
244
|
+
- Do not put `always()` on heavy jobs: it keeps a cancelled run alive and holding its concurrency group. Use `!cancelled()` for jobs that must run after upstream failures, and keep `always()` for lightweight aggregate gates only.
|
|
244
245
|
- Keep setup language-aware and cache dependency downloads by lockfile; do not cache secrets, `node_modules`, virtual environments, or broad build output without a measured reason.
|
|
245
246
|
- Use least-privilege permissions and pin action versions consistently with the template.
|
|
246
247
|
- Keep CI, Test, Security, CodeQL, Draft Guard, Draft PR, Release PR, and Release concerns separated.
|