diff --git a/.github/actions/resolve-config/callers.test.mjs b/.github/actions/resolve-config/callers.test.mjs index d4703811d22..78e6195e8d5 100644 --- a/.github/actions/resolve-config/callers.test.mjs +++ b/.github/actions/resolve-config/callers.test.mjs @@ -1762,7 +1762,7 @@ test("no run-claude-cli plugin-dirs or add-dirs value names runner.temp, RUNNER_ // under which the default mode denies every call no rule allows, as dontAsk // does; check-permission-mode.sh accepts default for dontAsk on that basis. // 7b362428: lane.cjs:311-312; 164c2809: lane.cjs:355-358; d02b8697 and e5167fc2: lane.cjs:357-358; -// ba7af78d291f10bd75651857a0db2357c23df0fe and 30b251532b2e9f7e0c4215e1dee5be0d3c688743: lane.cjs:404-405; in cliArgs. A pin +// ba7af78d291f10bd75651857a0db2357c23df0fe, 30b251532b2e9f7e0c4215e1dee5be0d3c688743 and 81a603a6e2b0319428c981bf28f3fe923032afb2: lane.cjs:404-405; in cliArgs. A pin // bump fails here until its lane.cjs is read and its SHA added. const PERMISSION_PROMPTS_NONE_LAUNCHERS = new Set([ "7b362428c76085a160e28656cd2c75c3147a69ff", @@ -1771,6 +1771,7 @@ const PERMISSION_PROMPTS_NONE_LAUNCHERS = new Set([ "e5167fc29d948ab7d0923cf62f5ea9eeeef8e9e8", "ba7af78d291f10bd75651857a0db2357c23df0fe", "30b251532b2e9f7e0c4215e1dee5be0d3c688743", + "81a603a6e2b0319428c981bf28f3fe923032afb2", ]); test("every run-claude-cli step pin in this repo's workflows is a launcher checked to pass --permission-prompts none", () => { @@ -4078,7 +4079,7 @@ test("scan job: every gate, skip and launcher class value the runner sets passes const schema = JSON.parse(read("../../../docs/conventions/pr-pipeline/pr-pipeline.schema.json")); const gateReasons = Object.keys(JSON.parse(read("../report-check-run/gate-skip-reasons.json"))); // run-claude-cli's failure classes, the keys of SUMMARY_NOTES in lane.cjs at - // the pinned 30b251532b2e9f7e0c4215e1dee5be0d3c688743. cant-fail-ok: an external contract's value list. + // the pinned 81a603a6e2b0319428c981bf28f3fe923032afb2. cant-fail-ok: an external contract's value list. const laneClasses = ["credit-stop", "rate-limit", "auth", "overloaded", "max-turns", "timeout", "other"]; const cases = [ ...schema.$defs["skip-reason"].enum.map((value) => ["skip-reason", value]), diff --git a/.github/scripts/pr-verify/probe/replay.mjs b/.github/scripts/pr-verify/probe/replay.mjs index 51868ceb1af..efc9f3d2bd6 100644 --- a/.github/scripts/pr-verify/probe/replay.mjs +++ b/.github/scripts/pr-verify/probe/replay.mjs @@ -60,7 +60,7 @@ const REPOSITORY = "melodic-software/claude-code-plugins"; // apply-claude-managed-settings to. cliArgs, LEG_ENV, CLI_VERSION and // MANAGED_SETTINGS were read from that SHA; the parity test fails when the // pin moves, so they are read again. -export const RUN_CLAUDE_CLI_PIN = "30b251532b2e9f7e0c4215e1dee5be0d3c688743"; +export const RUN_CLAUDE_CLI_PIN = "81a603a6e2b0319428c981bf28f3fe923032afb2"; export const CLI_VERSION = "latest"; export const MANAGED_SETTINGS = Object.freeze({ apiKeyHelper: "", diff --git a/.github/workflows/maintenance-audit-lane-runs.yml b/.github/workflows/maintenance-audit-lane-runs.yml index c6e6efff0a8..b2362b04c38 100644 --- a/.github/workflows/maintenance-audit-lane-runs.yml +++ b/.github/workflows/maintenance-audit-lane-runs.yml @@ -208,7 +208,7 @@ jobs: # need sudo, so they are written before the runner is isolated. - name: Apply the Claude managed settings if: steps.models.outcome == 'success' - uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 - name: Isolate the runner if: steps.models.outcome == 'success' @@ -262,7 +262,7 @@ jobs: if: steps.credential.outputs.present == 'true' && steps.prompt.outcome == 'success' continue-on-error: true timeout-minutes: 25 - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: # No work may outlive the result message the launcher reads. CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" @@ -343,7 +343,7 @@ jobs: - name: Report the judgment's outcome if: (steps.judge.outcome == 'success' || steps.judge.outcome == 'failure') && (steps.judge.outputs.handoff != 'true' || steps.key-leg.outcome == 'failure') - uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: outcome: ${{ steps.judge.outcome }} execution-file: ${{ steps.judge.outputs.execution-file }} @@ -524,7 +524,7 @@ jobs: # need sudo, so they are written before the runner is isolated. - name: Apply the Claude managed settings if: steps.models.outcome == 'success' - uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 - name: Isolate the runner if: steps.models.outcome == 'success' @@ -579,7 +579,7 @@ jobs: if: steps.credential.outputs.present == 'true' && steps.prompt.outcome == 'success' continue-on-error: true timeout-minutes: 25 - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: # No work may outlive the result message the launcher reads. CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" @@ -658,7 +658,7 @@ jobs: - name: Report the judgment's outcome if: (steps.judge.outcome == 'success' || steps.judge.outcome == 'failure') && (steps.judge.outputs.handoff != 'true' || steps.sub-leg.outcome == 'failure') - uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: outcome: ${{ steps.judge.outcome }} execution-file: ${{ steps.judge.outputs.execution-file }} @@ -832,7 +832,7 @@ jobs: # need sudo, so they are written before the runner is isolated. - name: Apply the Claude managed settings if: steps.models.outcome == 'success' - uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 - name: Isolate the runner if: steps.models.outcome == 'success' @@ -885,7 +885,7 @@ jobs: if: steps.credential.outputs.present == 'true' && steps.prompt.outcome == 'success' continue-on-error: true timeout-minutes: 25 - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: # No work may outlive the result message the launcher reads. CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" @@ -927,7 +927,7 @@ jobs: - name: Report the judgment's outcome if: steps.judge.outcome == 'success' || steps.judge.outcome == 'failure' - uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: outcome: ${{ steps.judge.outcome }} execution-file: ${{ steps.judge.outputs.execution-file }} diff --git a/.github/workflows/maintenance-audit-test-selection.yml b/.github/workflows/maintenance-audit-test-selection.yml index ef4b8befd0d..fe27a7a517f 100644 --- a/.github/workflows/maintenance-audit-test-selection.yml +++ b/.github/workflows/maintenance-audit-test-selection.yml @@ -82,7 +82,7 @@ jobs: .github/requirements-ci.txt plugins/animation/requirements.txt - name: Install and verify ShellCheck toolchain - uses: melodic-software/ci-workflows/.github/actions/shellcheck@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/shellcheck@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: paths: plugins/bash-format rcfile: .shellcheckrc diff --git a/.github/workflows/pr-require-checks.yml b/.github/workflows/pr-require-checks.yml index 18401192494..5afeee96048 100644 --- a/.github/workflows/pr-require-checks.yml +++ b/.github/workflows/pr-require-checks.yml @@ -357,7 +357,7 @@ jobs: - name: Match the changed files against the filter groups id: match continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/detect-changes@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/detect-changes@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: filters: | shell: @@ -875,7 +875,7 @@ jobs: - name: Lint markdown id: markdown continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/markdownlint@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/markdownlint@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: config: .markdownlint-cli2.jsonc globs: ${{ steps.changed_md.outputs.globs }} @@ -892,7 +892,7 @@ jobs: - name: Spell-check id: typos continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/typos@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/typos@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: config: _typos.toml paths: ${{ steps.typos_paths.outputs.paths }} @@ -915,7 +915,7 @@ jobs: - name: Scan for secrets id: gitleaks continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/gitleaks@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/gitleaks@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: config: .gitleaks.toml scan-mode: git @@ -930,7 +930,7 @@ jobs: - name: Check local links and anchors id: lychee continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/lychee-offline@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/lychee-offline@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: config: lychee.toml exclude: >- @@ -940,7 +940,7 @@ jobs: - name: Check editorconfig conformance id: editorconfig continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/editorconfig-checker@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/editorconfig-checker@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: config: .editorconfig-checker.json @@ -954,13 +954,13 @@ jobs: id: actionlint if: needs.select-tests.outputs.run_workflows == 'true' continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/actionlint@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/actionlint@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 - name: Validate dependabot.yml id: dependabot_schema if: needs.select-tests.outputs.run_workflows == 'true' continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/check-jsonschema@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/check-jsonschema@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: builtin-schema: vendor.dependabot files: .github/dependabot.yml @@ -968,7 +968,7 @@ jobs: id: workflow_schema if: needs.select-tests.outputs.run_workflows == 'true' continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/check-jsonschema@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/check-jsonschema@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: builtin-schema: vendor.github-workflows files: >- @@ -980,12 +980,12 @@ jobs: - name: Verify shebang files are executable id: exec_bit continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/check-exec-bit@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/check-exec-bit@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 - name: Check for machine-specific paths id: machine_paths continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/check-machine-paths@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/check-machine-paths@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: # The guardrails plugin bundles a path-detection pattern lib whose # regex bodies self-match this lane's own detector. The autonomy @@ -1018,12 +1018,12 @@ jobs: - name: Check index-level EOL drift id: eol continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/check-line-endings@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/check-line-endings@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 - name: Scan comment hygiene id: comment_hygiene continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/check-comment-markers@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/check-comment-markers@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: # The audit-comment-residue skill IS a code-comment linter: its detector # fixtures and shape library necessarily contain the markers this policy @@ -1474,7 +1474,7 @@ jobs: - name: Lint shell scripts id: shellcheck continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/shellcheck@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/shellcheck@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: files: ${{ steps.changed_shell.outputs.files }} rcfile: .shellcheckrc @@ -1908,7 +1908,7 @@ jobs: id: marketplace_schema if: needs.select-tests.outputs.run_manifests == 'true' continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/check-jsonschema@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/check-jsonschema@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: schemafile: https://json.schemastore.org/claude-code-marketplace.json files: .claude-plugin/marketplace.json @@ -1916,7 +1916,7 @@ jobs: id: plugin_schema if: needs.select-tests.outputs.run_manifests == 'true' continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/check-jsonschema@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/check-jsonschema@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: schemafile: https://json.schemastore.org/claude-code-plugin-manifest.json files: plugins/*/.claude-plugin/plugin.json @@ -2381,7 +2381,7 @@ jobs: - name: Validate every eval set against the bundled schema id: evals_schema continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/check-jsonschema@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/check-jsonschema@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: schemafile: plugins/skill-quality/reference/evals.schema.json files: plugins/*/skills/*/evals/evals.json @@ -2615,7 +2615,7 @@ jobs: # available to the bash-format contract suites in this same job. It # verifies the install on one small file that sources nothing; the # ShellCheck gate in `lint-shell` is what lints the repository. - uses: melodic-software/ci-workflows/.github/actions/shellcheck@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/shellcheck@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: files: scripts/aggregate-hygiene-results.sh rcfile: .shellcheckrc @@ -3163,7 +3163,7 @@ jobs: # The guard diffs base...head; both commits must be present. fetch-depth: 0 - name: Guard managed files - uses: melodic-software/ci-workflows/.github/actions/check-managed-files@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/check-managed-files@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 # THE WHOLE-TREE CAN'T-FAIL SCAN, WHENEVER THERE IS NO DIFF BASE: the # schedule, a dispatch, and a pull request or merge group that @@ -3755,7 +3755,7 @@ jobs: # the lane-scope step writes. { echo 'exec 9>&2'; declare -f gh_read; printf '%s\n' "${API_BUDGET_SH:-}" '! declare -F api_budget_wrap_gh >/dev/null || api_budget_wrap_gh github-token'; } >"$RUNNER_TEMP/gh-read.sh" - name: Check the pull-request contract - uses: melodic-software/ci-workflows/.github/actions/pr-require-checks/check-contract@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/pr-require-checks/check-contract@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: token: ${{ github.token }} # Carried over verbatim from `pr-issue-linkage.yml`, the caller this @@ -5207,7 +5207,7 @@ jobs: # aggregation: the job still fails on the contract step's exit code, and # the `ci-lanes` status is on the SHA for the next contract-only run. if: ${{ !cancelled() }} - uses: melodic-software/ci-workflows/.github/actions/pr-require-checks/aggregate-results@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/pr-require-checks/aggregate-results@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: # Every lane of the needs graph above — the single source of truth # for the lane list — through the ordered-skip check. Adding a lane diff --git a/.github/workflows/pr-review-hosted.yml b/.github/workflows/pr-review-hosted.yml index 6c5e9946709..95e49c6127b 100644 --- a/.github/workflows/pr-review-hosted.yml +++ b/.github/workflows/pr-review-hosted.yml @@ -172,7 +172,7 @@ jobs: contents: read pull-requests: write # the review, its inline comments and the lane's # reviewed-head marker comment - uses: melodic-software/ci-workflows/.github/workflows/pr-review-cli.yml@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/workflows/pr-review-cli.yml@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: lane: code publish: comments diff --git a/.github/workflows/pr-review-security-hosted.yml b/.github/workflows/pr-review-security-hosted.yml index 27537bdbae9..0d7c1d771cf 100644 --- a/.github/workflows/pr-review-security-hosted.yml +++ b/.github/workflows/pr-review-security-hosted.yml @@ -177,7 +177,7 @@ jobs: contents: read pull-requests: write # the review, its inline comments and the lane's # reviewed-head marker comment - uses: melodic-software/ci-workflows/.github/workflows/pr-review-cli.yml@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/workflows/pr-review-cli.yml@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: lane: security publish: comments diff --git a/.github/workflows/pr-run-activity-read.yml b/.github/workflows/pr-run-activity-read.yml index 89fa73a554b..ebffc6879db 100644 --- a/.github/workflows/pr-run-activity-read.yml +++ b/.github/workflows/pr-run-activity-read.yml @@ -1098,7 +1098,7 @@ jobs: # need sudo, so they are written before the runner is isolated. - name: Apply the Claude managed settings if: steps.launch.outcome == 'success' && steps.go.outputs.run == 'true' - uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 # Nothing after this step needs sudo or docker. - name: Isolate the runner @@ -1403,7 +1403,7 @@ jobs: if: steps.key-present.outputs.present == 'true' continue-on-error: true timeout-minutes: ${{ fromJSON(steps.launch.outputs.step-minutes || '50') }} - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: # No work may outlive the result message the launcher reads. CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" @@ -1455,7 +1455,7 @@ jobs: if: steps.token-present.outputs.present == 'true' continue-on-error: true timeout-minutes: ${{ fromJSON(steps.launch.outputs.step-minutes || '50') }} - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" LD_LIBRARY_PATH: "" @@ -1501,7 +1501,7 @@ jobs: if: steps.fallback-present.outputs.present == 'true' continue-on-error: true timeout-minutes: ${{ fromJSON(steps.launch.outputs.step-minutes || '50') }} - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" LD_LIBRARY_PATH: "" @@ -1725,7 +1725,7 @@ jobs: && (steps.act-key.outcome == 'success' || steps.act-key.outcome == 'failure' || steps.act-token.outcome == 'success' || steps.act-token.outcome == 'failure' || steps.act-fallback.outcome == 'success' || steps.act-fallback.outcome == 'failure') - uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: outcome: ${{ steps.act-key.outcome != 'skipped' && steps.act-key.outcome || steps.act-token.outcome != 'skipped' && steps.act-token.outcome || steps.act-fallback.outcome }} execution-file: ${{ steps.act-key.outputs.execution-file || steps.act-token.outputs.execution-file || steps.act-fallback.outputs.execution-file }} @@ -3089,7 +3089,7 @@ jobs: id: summary-settings if: steps.summary-prompt.outcome == 'success' continue-on-error: true - uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 - name: Isolate the runner id: isolate @@ -3108,7 +3108,7 @@ jobs: if: steps.isolate.outcome == 'success' && inputs.fallback == '' continue-on-error: true timeout-minutes: 15 - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" with: @@ -3134,7 +3134,7 @@ jobs: if: steps.isolate.outcome == 'success' && inputs.fallback != '' continue-on-error: true timeout-minutes: 15 - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" with: diff --git a/.github/workflows/pr-run-activity-write.yml b/.github/workflows/pr-run-activity-write.yml index cd5ad5d0db6..3d65e912582 100644 --- a/.github/workflows/pr-run-activity-write.yml +++ b/.github/workflows/pr-run-activity-write.yml @@ -1636,7 +1636,7 @@ jobs: - name: Record the lane outcome id: lane-record if: always() && (steps.act-skill.outcome == 'success' || steps.act-skill.outcome == 'failure') - uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: outcome: ${{ steps.act-result.outputs.outcome || steps.act-skill.outcome }} execution-file: >- diff --git a/.github/workflows/pr-unblock.yml b/.github/workflows/pr-unblock.yml index 2f0bf6074e1..b6e1d987f5c 100644 --- a/.github/workflows/pr-unblock.yml +++ b/.github/workflows/pr-unblock.yml @@ -1127,7 +1127,7 @@ jobs: # need sudo, so they are written before the runner is isolated. - name: Apply the Claude managed settings if: steps.key.outputs.present == 'true' - uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 # Nothing after this step needs sudo or docker. - name: Isolate the runner @@ -1160,7 +1160,7 @@ jobs: if: steps.key.outputs.present == 'true' && fromJSON(steps.prepare.outputs.count || '0') > 0 continue-on-error: true timeout-minutes: 20 - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" LD_LIBRARY_PATH: "" @@ -1221,7 +1221,7 @@ jobs: if: steps.key.outputs.present == 'true' && fromJSON(steps.prepare.outputs.count || '0') > 1 continue-on-error: true timeout-minutes: 20 - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" LD_LIBRARY_PATH: "" @@ -1282,7 +1282,7 @@ jobs: if: steps.key.outputs.present == 'true' && fromJSON(steps.prepare.outputs.count || '0') > 2 continue-on-error: true timeout-minutes: 20 - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" LD_LIBRARY_PATH: "" diff --git a/.github/workflows/pr-verify.yml b/.github/workflows/pr-verify.yml index 411b1171ad2..0df59f1972b 100644 --- a/.github/workflows/pr-verify.yml +++ b/.github/workflows/pr-verify.yml @@ -227,7 +227,7 @@ jobs: # need sudo, so they are written before the runner is isolated. - name: Apply the Claude managed settings if: steps.agree.outcome == 'success' - uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 - name: Isolate the runner if: steps.agree.outcome == 'success' @@ -277,7 +277,7 @@ jobs: if: steps.credential.outputs.present == 'true' continue-on-error: true timeout-minutes: 22 - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: # No work may outlive the result message the launcher reads. CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" @@ -336,7 +336,7 @@ jobs: # it, and auth as auth. - name: Report the judgment's outcome if: (steps.judge.outcome == 'success' || steps.judge.outcome == 'failure') && (steps.judge.outputs.handoff != 'true' || steps.key-leg.outcome == 'failure') - uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: outcome: ${{ steps.judge.outcome }} execution-file: ${{ steps.judge.outputs.execution-file }} @@ -582,7 +582,7 @@ jobs: # need sudo, so they are written before the runner is isolated. - name: Apply the Claude managed settings if: steps.agree.outcome == 'success' - uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 - name: Isolate the runner if: steps.agree.outcome == 'success' @@ -633,7 +633,7 @@ jobs: if: steps.credential.outputs.present == 'true' continue-on-error: true timeout-minutes: 22 - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: # No work may outlive the result message the launcher reads. CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" @@ -687,7 +687,7 @@ jobs: # job; a handoff with a denial on the subscription leg, here. - name: Report the judgment's outcome if: (steps.judge.outcome == 'success' || steps.judge.outcome == 'failure') && (steps.judge.outputs.handoff != 'true' || steps.sub-leg.outcome == 'failure') - uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: outcome: ${{ steps.judge.outcome }} execution-file: ${{ steps.judge.outputs.execution-file }} @@ -932,7 +932,7 @@ jobs: # need sudo, so they are written before the runner is isolated. - name: Apply the Claude managed settings if: steps.agree.outcome == 'success' - uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/apply-claude-managed-settings@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 - name: Isolate the runner if: steps.agree.outcome == 'success' @@ -981,7 +981,7 @@ jobs: if: steps.credential.outputs.present == 'true' continue-on-error: true timeout-minutes: 22 - uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/run-claude-cli@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 env: # No work may outlive the result message the launcher reads. CLAUDE_CODE_DISABLE_BACKGROUND_TASKS: "1" @@ -1017,7 +1017,7 @@ jobs: - name: Report the judgment's outcome if: steps.judge.outcome == 'success' || steps.judge.outcome == 'failure' - uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@30b251532b2e9f7e0c4215e1dee5be0d3c688743 # v0.65.15 + uses: melodic-software/ci-workflows/.github/actions/report-lane-outcome@81a603a6e2b0319428c981bf28f3fe923032afb2 # v0.65.17 with: outcome: ${{ steps.judge.outcome }} execution-file: ${{ steps.judge.outputs.execution-file }} diff --git a/scripts/check-affected.sh b/scripts/check-affected.sh index 9efbb0aa645..588c79eef83 100755 --- a/scripts/check-affected.sh +++ b/scripts/check-affected.sh @@ -396,8 +396,8 @@ fi # machine-paths step, and the types are the composite's default `extensions` # input, which that step does not override (scripts/check-affected-gates.test.sh # holds both to the workflow). The boundary, the five scans and the exemptions -# repeat the composite's entry script as read at ci-workflows v0.65.15 -# (30b251532b2e9f7e0c4215e1dee5be0d3c688743); recheck them when the pin moves. +# repeat the composite's entry script as read at ci-workflows v0.65.17 +# (81a603a6e2b0319428c981bf28f3fe923032afb2); recheck them when the pin moves. machine_paths_lib=plugins/guardrails/lib/path-detection/machine-path-patterns.sh machine_paths_excludes=( ':(exclude)plugins/guardrails/lib/path-detection/**'