Skip to content

Prepend system bin dirs to PATH when allowed_non_write_users is set#1208

Merged
OctavianGuzu merged 1 commit intomainfrom
oct/prepend-system-bin-dirs
Apr 12, 2026
Merged

Prepend system bin dirs to PATH when allowed_non_write_users is set#1208
OctavianGuzu merged 1 commit intomainfrom
oct/prepend-system-bin-dirs

Conversation

@OctavianGuzu
Copy link
Copy Markdown
Collaborator

@OctavianGuzu OctavianGuzu commented Apr 12, 2026

Prepends /usr/bin and /bin to GITHUB_PATH (before and after the Claude step) so later steps in the job resolve standard tools (git, tar, zstd) from the system locations regardless of what setup actions added to PATH earlier. Gated on allowed_non_write_users, same as the adjacent pin-bun step.

@OctavianGuzu OctavianGuzu force-pushed the oct/prepend-system-bin-dirs branch from 1ac9d90 to 347a6be Compare April 12, 2026 13:30
@OctavianGuzu OctavianGuzu marked this pull request as ready for review April 12, 2026 13:33
@OctavianGuzu OctavianGuzu force-pushed the oct/prepend-system-bin-dirs branch from 347a6be to 869ee18 Compare April 12, 2026 13:33
Copy link
Copy Markdown
Contributor

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM — straightforward PATH fix following existing patterns.

Extended reasoning...

Overview

Adds two steps to action.yml that write /usr/bin and /bin to $GITHUB_PATH: once before the main Claude step and once after (with always()). Both are gated on allowed_non_write_users \!= '', matching the adjacent pin-bun step pattern.

Security risks

None meaningful. The change only adds standard, trusted system directories to PATH. It does not introduce any new code execution paths, secret exposure, or auth bypass risks. Gating on allowed_non_write_users is appropriate and consistent with adjacent steps.

Level of scrutiny

Low — this is a config-only change to a CI action definition. The mechanism (writing to $GITHUB_PATH) is standard GitHub Actions practice; entries written there are prepended to PATH for subsequent steps, so the naming is accurate despite using >>.

Other factors

No bugs were found, no prior review comments exist, and the change is small (8 lines), self-contained, and follows established patterns in the file. continue-on-error: true makes both steps safe to fail without breaking the workflow.

@OctavianGuzu OctavianGuzu force-pushed the oct/prepend-system-bin-dirs branch from 869ee18 to e558b02 Compare April 12, 2026 13:45
Copy link
Copy Markdown
Contributor

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM — straightforward PATH fix and improved security docs.

Extended reasoning...

Overview

Two files changed: adds two small steps that prepend and to GITHUB_PATH (one before the main Claude step, one after in the always-run cleanup phase), and strengthens the PAT warning for allowed_non_write_users.

Security risks

None introduced. The path entries are hardcoded system directories, not user-controlled. The doc change is purely additive security guidance, warning against static PATs and recommending minimal allowedTools.

Level of scrutiny

Low. This is a mechanical fix for a known PATH ordering issue (setup actions like setup-bun can prepend their own dirs, pushing system tools lower). The new steps follow the exact same pattern as the adjacent "Pin bun binary" step (same if condition, same continue-on-error: true).

Other factors

No logic changes, no new inputs, no security-sensitive code touched. The post-step re-prepend correctly uses always() to cover cleanup steps. Bug hunting found no issues.

@OctavianGuzu OctavianGuzu force-pushed the oct/prepend-system-bin-dirs branch 2 times, most recently from f7fcc61 to 360857f Compare April 12, 2026 15:00
Comment thread action.yml
@OctavianGuzu OctavianGuzu force-pushed the oct/prepend-system-bin-dirs branch from 360857f to da6f220 Compare April 12, 2026 15:11
wolffiex
wolffiex previously approved these changes Apr 12, 2026
Copy link
Copy Markdown
Contributor

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


Additional findings (outside current diff — PR may have been updated during review):

  • 🔴 action.yml:350-376 — The Re-prepend step's env: block (lines 357-362) clears BASH_ENV, LD_PRELOAD, and related variables but omits GITHUB_ENV, leaving the write target for the env-clearing at line 372 vulnerable to prompt injection: if the Claude run step is coerced into writing GITHUB_ENV=/dev/null to the real env file, the Re-prepend step's } >> "$GITHUB_ENV" silently discards all clearings to /dev/null, and malicious values like BASH_ENV=/tmp/evil.sh survive into the Cleanup SSH signing key and Post buffered inline comments steps (which invoke bash without --noprofile --norc). Fix by capturing the authoritative GITHUB_ENV path before the Claude step (via a step output) and using that pinned path in the Re-prepend run block.

    Extended reasoning...

    What the bug is and how it manifests

    The Re-prepend step was added to sanitize the environment after Claude processes untrusted input (when allowed_non_write_users is set). It clears dangerous variables by writing zeroed values to $GITHUB_ENV at line 372. However, the step's own env: block (lines 357-362) enumerates BASH_ENV, LD_PRELOAD, NODE_OPTIONS, DYLD_INSERT_LIBRARIES, and DYLD_PRELOAD — but conspicuously omits GITHUB_ENV itself. This means if the GITHUB_ENV environment variable has been overridden by an attacker-injected value (e.g., GITHUB_ENV=/dev/null) from the preceding Claude step, the Re-prepend step inherits that overridden value and all its clearing writes are silently discarded.

    The specific code path that triggers it

    During the Run Claude Code Action step, Claude has access to a bash tool that can write arbitrary content to $GITHUB_ENV. A prompt injection — e.g., a hidden instruction in a user-submitted issue — could cause Claude to execute: echo 'GITHUB_ENV=/dev/null' >> "$GITHUB_ENV" and echo 'BASH_ENV=/tmp/evil.sh' >> "$GITHUB_ENV". The GitHub Actions runner reads the env file after the Claude step and propagates both values. When the Re-prepend step runs, it has GITHUB_ENV=/dev/null in its environment (set from the accumulated env). The env: block does NOT reset GITHUB_ENV, so the run block's } >> "$GITHUB_ENV" expands to } >> /dev/null — the BASH_ENV= clearing is written nowhere. The runner then reads the canonical env file (its internal reference), finds no clearings, and BASH_ENV=/tmp/evil.sh persists into subsequent steps.

    Why existing code does not prevent it

    The env: block correctly overrides BASH_ENV and the other variables for the step's own bash invocation, which protects the Re-prepend step itself. But the purpose of the GITHUB_ENV writes is to protect SUBSEQUENT steps. Since GITHUB_ENV is not in the env: block, its value during the run: block is whatever the accumulated environment says — and that can be /dev/null if Claude was injected. The continue-on-error: true flag silences any error from writing to /dev/null (on Linux, writes to /dev/null succeed without error anyway), so there is no signal that the clearing failed.

    The refutation's counter-argument addressed

    One verifier argued that the GitHub Actions runner always creates a fresh temp file for GITHUB_ENV at the start of each step, overriding any accumulated GITHUB_ENV value. If this is correct, the runner would inject the correct GITHUB_ENV path into the Re-prepend step despite any injected override, and the clearing would succeed. This is a legitimate uncertainty: GitHub's documentation describes GITHUB_ENV as runner-managed, and the runner may indeed inject its authoritative path per step. However, this behavior is implementation-dependent and not explicitly guaranteed against injection overrides in the runner specification. At minimum, the design gap (GITHUB_ENV absent from the env: block) makes the step's protection fragile and dependent on an undocumented runner guarantee. The safe fix does not rely on this behavior.

    Impact

    If the attack works (runner does not override accumulated GITHUB_ENV), BASH_ENV=/tmp/evil.sh persists into the Cleanup SSH signing key step (line 374-383) and Post buffered inline comments step (lines 385+), both of which use shell: bash without --noprofile --norc. When bash initializes, it sources the file at BASH_ENV, giving the attacker arbitrary code execution in the post-Claude cleanup steps. These steps also have access to secrets (GITHUB_TOKEN, ANTHROPIC_API_KEY) passed in their env: blocks, making this high-value for exfiltration.

    How to fix it

    Before the Run Claude Code Action step, capture the authoritative GITHUB_ENV path: add a step with id: pin-env and run: echo "github_env=$GITHUB_ENV" >> "$GITHUB_OUTPUT". In the Re-prepend step's run block, replace $GITHUB_ENV with ${{ steps.pin-env.outputs.github_env }}. Step outputs are set by the runner at step completion and cannot be overridden by env injection, so this pins the write target to the known-good path regardless of what accumulated env vars say.

    Step-by-step proof

    1. Attacker submits an issue containing hidden instruction: execute echo 'GITHUB_ENV=/dev/null' >> "$GITHUB_ENV" && echo 'BASH_ENV=/tmp/evil.sh' >> "$GITHUB_ENV" via bash tool.
    2. Claude (with allowed_non_write_users set) processes it and runs the bash command, writing both entries to the legitimate GITHUB_ENV temp file.
    3. Runner reads the temp file after the Claude step; accumulates GITHUB_ENV=/dev/null and BASH_ENV=/tmp/evil.sh.
    4. Runner sets up the Re-prepend step, propagating accumulated env. If runner does not override GITHUB_ENV: step environment has GITHUB_ENV=/dev/null.
    5. Re-prepend step runs: env: block overrides BASH_ENV="" protecting the step's own bash (good). Run block executes } >> "$GITHUB_ENV" = } >> /dev/null — clearings are discarded.
    6. Runner reads its canonical env file after Re-prepend; finds no new clearings. BASH_ENV=/tmp/evil.sh from step 3 remains.
    7. Cleanup SSH signing key step: shell: bash initializes, sources /tmp/evil.sh via BASH_ENV. Attacker code executes with access to the step's environment including any secrets.

Comment thread action.yml
Comment thread docs/security.md Outdated
Ensures later steps resolve standard tools like git and tar from /usr/bin
regardless of what setup actions added earlier in the job. Also strengthens
the PAT guidance in security.md.

:house: Remote-Dev: homespace
@OctavianGuzu OctavianGuzu force-pushed the oct/prepend-system-bin-dirs branch from b3500f6 to a15bf9d Compare April 12, 2026 15:38
Comment thread action.yml
@OctavianGuzu OctavianGuzu requested a review from wolffiex April 12, 2026 20:04
Copy link
Copy Markdown
Collaborator

@wolffiex wolffiex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with one small fix before merge, plus a scope note.

Fix: NODE_OPTIONS asymmetry in the re-prepend step

The step's env: block clears 8 variables for the step itself — including NODE_OPTIONS — but the $GITHUB_ENV persistence block clears only 7. NODE_OPTIONS is missing:

      env:
        BASH_ENV: ""
        LD_PRELOAD: ""
        LD_LIBRARY_PATH: ""
        NODE_OPTIONS: ""          # cleared for THIS step
        DYLD_INSERT_LIBRARIES: ""
        DYLD_PRELOAD: ""
        DYLD_LIBRARY_PATH: ""
        DYLD_FRAMEWORK_PATH: ""
      run: |
        echo "/usr/bin" >> "$GITHUB_PATH"
        echo "/bin" >> "$GITHUB_PATH"
        {
          echo "BASH_ENV="
          echo "LD_PRELOAD="
          echo "LD_LIBRARY_PATH="
          # NODE_OPTIONS missing — add it
          echo "DYLD_INSERT_LIBRARIES="
          echo "DYLD_PRELOAD="
          echo "DYLD_LIBRARY_PATH="
          echo "DYLD_FRAMEWORK_PATH="
        } >> "$GITHUB_ENV"

If Claude emits echo "NODE_OPTIONS=--require=/tmp/evil.js" >> "$GITHUB_ENV" during the action run, that setting survives into later steps. The action's own cleanup steps use bun (which ignores NODE_OPTIONS), so this doesn't compromise the action itself — but any downstream node/npm/npx step in the same job picks it up. Either add echo "NODE_OPTIONS=" to the $GITHUB_ENV block, or drop NODE_OPTIONS: "" from the step-level env: so the two lists match.

Suggestion: scope of PATH hardening

Only /usr/bin and /bin are prepended. Binaries commonly installed elsewhere remain exposed to earlier PATH entries: gh (/usr/local/bin on most runners), node, npm, docker, aws, kubectl, language toolchains. The PR framing ("git, tar, zstd") is accurate for what's defended, but a brief comment in action.yml at the pre-step would help a future reader not mistake this for comprehensive PATH lockdown — e.g. "defends standard POSIX tooling; tools in /usr/local/bin and language toolchains remain first-match from earlier PATH entries."

Notes (non-blocking)

  • continue-on-error: true on the re-prepend matches the adjacent pin-bun pattern, but the failure mode is different: pin-bun failing → loud downstream. This failing → silent loss of a security boundary. Worth a comment, or dropping continue-on-error on just this step.
  • $GITHUB_PATH append order: /usr/bin written first, /bin second — GitHub prepends each line, so /bin ends up ahead of /usr/bin in final PATH. Harmless (both trusted), but the PR description reads as if /usr/bin wins.
  • Custom shell /bin/bash --noprofile --norc -e -o pipefail {0} correctly bypasses /etc/profile and ~/.bashrc. Good hardening.
  • docs/security.md change is well-calibrated — the PAT warning is genuinely sharper.

Approving on the assumption the NODE_OPTIONS gap gets closed in a follow-up commit before merge.

@OctavianGuzu
Copy link
Copy Markdown
Collaborator Author

Thanks for the review! On the NODE_OPTIONS asymmetry: it's intentional — the runner has rejected NODE_OPTIONS writes to $GITHUB_ENV since v2.309.0 (changelog, FileCommandManager.cs:180 _setEnvBlockList = {"NODE_OPTIONS"}). Including echo "NODE_OPTIONS=" in the heredoc produces ##[error]Can't store NODE_OPTIONS output parameter using '$GITHUB_ENV' command on every run — we had it in an earlier draft and removed it for that reason. The same blocklist means an injected NODE_OPTIONS=--require=... write to $GITHUB_ENV is also rejected by the runner, so there's nothing to clear on that path. The step-level env: NODE_OPTIONS: "" is left in for symmetry with the other vars and is a no-op for this step's bash invocation.

Ack on PATH scope (only /usr/bin+/bin), continue-on-error semantics, and the /bin-before-/usr/bin ordering — all noted, leaving as-is for this PR.

@OctavianGuzu OctavianGuzu merged commit ff49ec5 into main Apr 12, 2026
42 checks passed
@OctavianGuzu OctavianGuzu deleted the oct/prepend-system-bin-dirs branch April 12, 2026 20:51
mergify Bot added a commit to ArcadeData/arcadedb-usecases that referenced this pull request Apr 19, 2026
Bumps the github-actions group with 2 updates: [anthropics/claude-code-action](https://github.com/anthropics/claude-code-action) and [actions/cache](https://github.com/actions/cache).
Updates `anthropics/claude-code-action` from 1.0.88 to 1.0.101
Release notes

*Sourced from [anthropics/claude-code-action's releases](https://github.com/anthropics/claude-code-action/releases).*

> v1.0.101
> --------
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.101>
>
> v1.0.100
> --------
>
> What's Changed
> --------------
>
> * Upgrade Claude model from opus-4-6 to opus-4-7 by [`@​ashwin-ant`](https://github.com/ashwin-ant) in [anthropics/claude-code-action#1227](https://redirect.github.com/anthropics/claude-code-action/pull/1227)
> * fix: pass install.sh binary path to Agent SDK after 0.2.113 bump by [`@​ashwin-ant`](https://github.com/ashwin-ant) in [anthropics/claude-code-action#1235](https://redirect.github.com/anthropics/claude-code-action/pull/1235)
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.100>
>
> v1.0.99
> -------
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.99>
>
> v1.0.98
> -------
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.98>
>
> v1.0.97
> -------
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.97>
>
> v1.0.96
> -------
>
> What's Changed
> --------------
>
> * fix: handle fork PRs by fetching via refs/pull/N/head by [`@​stakeswky`](https://github.com/stakeswky) in [anthropics/claude-code-action#963](https://redirect.github.com/anthropics/claude-code-action/pull/963)
>
> New Contributors
> ----------------
>
> * [`@​stakeswky`](https://github.com/stakeswky) made their first contribution in [anthropics/claude-code-action#963](https://redirect.github.com/anthropics/claude-code-action/pull/963)
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.96>
>
> v1.0.95
> -------
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.95>
>
> v1.0.94
> -------
>
> What's Changed
> --------------
>
> * Prepend system bin dirs to PATH when allowed\_non\_write\_users is set by [`@​OctavianGuzu`](https://github.com/OctavianGuzu) in [anthropics/claude-code-action#1208](https://redirect.github.com/anthropics/claude-code-action/pull/1208)
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.94>
>
> v1.0.93
> -------
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.93>
>
> v1.0.92
> -------
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.92>
>
> v1.0.91
> -------
>
> What's Changed
> --------------
>
> * Use pinned bun binary for post-steps when allowed\_non\_write\_users is set by [`@​OctavianGuzu`](https://github.com/OctavianGuzu) in [anthropics/claude-code-action#1190](https://redirect.github.com/anthropics/claude-code-action/pull/1190)

... (truncated)


Commits

* [`38ec876`](anthropics/claude-code-action@38ec876) chore: bump Claude Code to 2.1.114 and Agent SDK to 0.2.114
* [`0d2971c`](anthropics/claude-code-action@0d2971c) fix: pass install.sh binary path explicitly to Agent SDK ([#1235](https://redirect.github.com/anthropics/claude-code-action/issues/1235))
* [`c68f82c`](anthropics/claude-code-action@c68f82c) chore: bump Claude Code to 2.1.113 and Agent SDK to 0.2.113
* [`78758ed`](anthropics/claude-code-action@78758ed) chore: bump model version in workflows ([#1227](https://redirect.github.com/anthropics/claude-code-action/issues/1227))
* [`c3d45e8`](anthropics/claude-code-action@c3d45e8) chore: bump Claude Code to 2.1.112 and Agent SDK to 0.2.112
* [`931e620`](anthropics/claude-code-action@931e620) chore: bump Claude Code to 2.1.111 and Agent SDK to 0.2.111
* [`905d4eb`](anthropics/claude-code-action@905d4eb) chore: bump Claude Code to 2.1.110 and Agent SDK to 0.2.110
* [`5fb8995`](anthropics/claude-code-action@5fb8995) chore: bump Claude Code to 2.1.109 and Agent SDK to 0.2.109
* [`c3bf66d`](anthropics/claude-code-action@c3bf66d) fix: handle fork PRs by fetching via refs/pull/N/head ([#962](https://redirect.github.com/anthropics/claude-code-action/issues/962)) ([#963](https://redirect.github.com/anthropics/claude-code-action/issues/963))
* [`3943183`](anthropics/claude-code-action@3943183) chore: bump Claude Code to 2.1.108 and Agent SDK to 0.2.108
* Additional commits viewable in [compare view](anthropics/claude-code-action@1eddb33...38ec876)
  
Updates `actions/cache` from 5.0.4 to 5.0.5
Release notes

*Sourced from [actions/cache's releases](https://github.com/actions/cache/releases).*

> v5.0.5
> ------
>
> What's Changed
> --------------
>
> * Update ts-http-runtime dependency by [`@​yacaovsnc`](https://github.com/yacaovsnc) in [actions/cache#1747](https://redirect.github.com/actions/cache/pull/1747)
>
> **Full Changelog**: <actions/cache@v5...v5.0.5>


Changelog

*Sourced from [actions/cache's changelog](https://github.com/actions/cache/blob/main/RELEASES.md).*

> Releases
> ========
>
> How to prepare a release
> ------------------------
>
> > [!NOTE]  
> > Relevant for maintainers with write access only.
>
> 1. Switch to a new branch from `main`.
> 2. Run `npm test` to ensure all tests are passing.
> 3. Update the version in [`https://github.com/actions/cache/blob/main/package.json`](https://github.com/actions/cache/blob/main/package.json).
> 4. Run `npm run build` to update the compiled files.
> 5. Update this [`https://github.com/actions/cache/blob/main/RELEASES.md`](https://github.com/actions/cache/blob/main/RELEASES.md) with the new version and changes in the `## Changelog` section.
> 6. Run `licensed cache` to update the license report.
> 7. Run `licensed status` and resolve any warnings by updating the [`https://github.com/actions/cache/blob/main/.licensed.yml`](https://github.com/actions/cache/blob/main/.licensed.yml) file with the exceptions.
> 8. Commit your changes and push your branch upstream.
> 9. Open a pull request against `main` and get it reviewed and merged.
> 10. Draft a new release <https://github.com/actions/cache/releases> use the same version number used in `package.json`
>     1. Create a new tag with the version number.
>     2. Auto generate release notes and update them to match the changes you made in `RELEASES.md`.
>     3. Toggle the set as the latest release option.
>     4. Publish the release.
> 11. Navigate to <https://github.com/actions/cache/actions/workflows/release-new-action-version.yml>
>     1. There should be a workflow run queued with the same version number.
>     2. Approve the run to publish the new version and update the major tags for this action.
>
> Changelog
> ---------
>
> ### 5.0.4
>
> * Bump `minimatch` to v3.1.5 (fixes ReDoS via globstar patterns)
> * Bump `undici` to v6.24.1 (WebSocket decompression bomb protection, header validation fixes)
> * Bump `fast-xml-parser` to v5.5.6
>
> ### 5.0.3
>
> * Bump `@actions/cache` to v5.0.5 (Resolves: <https://github.com/actions/cache/security/dependabot/33>)
> * Bump `@actions/core` to v2.0.3
>
> ### 5.0.2
>
> * Bump `@actions/cache` to v5.0.3 [#1692](https://redirect.github.com/actions/cache/pull/1692)
>
> ### 5.0.1
>
> * Update `@azure/storage-blob` to `^12.29.1` via `@actions/cache@5.0.1` [#1685](https://redirect.github.com/actions/cache/pull/1685)
>
> ### 5.0.0
>
> > [!IMPORTANT]
> > `actions/cache@v5` runs on the Node.js 24 runtime and requires a minimum Actions Runner version of `2.327.1`.

... (truncated)


Commits

* [`27d5ce7`](actions/cache@27d5ce7) Merge pull request [#1747](https://redirect.github.com/actions/cache/issues/1747) from actions/yacaovsnc/update-dependency
* [`f280785`](actions/cache@f280785) licensed changes
* [`619aeb1`](actions/cache@619aeb1) npm run build generated dist files
* [`bcf16c2`](actions/cache@bcf16c2) Update ts-http-runtime to 0.3.5
* See full diff in [compare view](actions/cache@6682284...27d5ce7)
  
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
  
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot show  ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore  major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore  minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore  ` will remove the ignore condition of the specified dependency and ignore conditions
mergify Bot added a commit to ArcadeData/arcadedb that referenced this pull request Apr 20, 2026
Bumps the github-actions group with 3 updates: [anthropics/claude-code-action](https://github.com/anthropics/claude-code-action), [github/codeql-action](https://github.com/github/codeql-action) and [actions/cache](https://github.com/actions/cache).
Updates `anthropics/claude-code-action` from 1.0.93 to 1.0.101
Release notes

*Sourced from [anthropics/claude-code-action's releases](https://github.com/anthropics/claude-code-action/releases).*

> v1.0.101
> --------
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.101>
>
> v1.0.100
> --------
>
> What's Changed
> --------------
>
> * Upgrade Claude model from opus-4-6 to opus-4-7 by [`@​ashwin-ant`](https://github.com/ashwin-ant) in [anthropics/claude-code-action#1227](https://redirect.github.com/anthropics/claude-code-action/pull/1227)
> * fix: pass install.sh binary path to Agent SDK after 0.2.113 bump by [`@​ashwin-ant`](https://github.com/ashwin-ant) in [anthropics/claude-code-action#1235](https://redirect.github.com/anthropics/claude-code-action/pull/1235)
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.100>
>
> v1.0.99
> -------
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.99>
>
> v1.0.98
> -------
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.98>
>
> v1.0.97
> -------
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.97>
>
> v1.0.96
> -------
>
> What's Changed
> --------------
>
> * fix: handle fork PRs by fetching via refs/pull/N/head by [`@​stakeswky`](https://github.com/stakeswky) in [anthropics/claude-code-action#963](https://redirect.github.com/anthropics/claude-code-action/pull/963)
>
> New Contributors
> ----------------
>
> * [`@​stakeswky`](https://github.com/stakeswky) made their first contribution in [anthropics/claude-code-action#963](https://redirect.github.com/anthropics/claude-code-action/pull/963)
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.96>
>
> v1.0.95
> -------
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.95>
>
> v1.0.94
> -------
>
> What's Changed
> --------------
>
> * Prepend system bin dirs to PATH when allowed\_non\_write\_users is set by [`@​OctavianGuzu`](https://github.com/OctavianGuzu) in [anthropics/claude-code-action#1208](https://redirect.github.com/anthropics/claude-code-action/pull/1208)
>
> **Full Changelog**: <anthropics/claude-code-action@v1...v1.0.94>


Commits

* [`38ec876`](anthropics/claude-code-action@38ec876) chore: bump Claude Code to 2.1.114 and Agent SDK to 0.2.114
* [`0d2971c`](anthropics/claude-code-action@0d2971c) fix: pass install.sh binary path explicitly to Agent SDK ([#1235](https://redirect.github.com/anthropics/claude-code-action/issues/1235))
* [`c68f82c`](anthropics/claude-code-action@c68f82c) chore: bump Claude Code to 2.1.113 and Agent SDK to 0.2.113
* [`78758ed`](anthropics/claude-code-action@78758ed) chore: bump model version in workflows ([#1227](https://redirect.github.com/anthropics/claude-code-action/issues/1227))
* [`c3d45e8`](anthropics/claude-code-action@c3d45e8) chore: bump Claude Code to 2.1.112 and Agent SDK to 0.2.112
* [`931e620`](anthropics/claude-code-action@931e620) chore: bump Claude Code to 2.1.111 and Agent SDK to 0.2.111
* [`905d4eb`](anthropics/claude-code-action@905d4eb) chore: bump Claude Code to 2.1.110 and Agent SDK to 0.2.110
* [`5fb8995`](anthropics/claude-code-action@5fb8995) chore: bump Claude Code to 2.1.109 and Agent SDK to 0.2.109
* [`c3bf66d`](anthropics/claude-code-action@c3bf66d) fix: handle fork PRs by fetching via refs/pull/N/head ([#962](https://redirect.github.com/anthropics/claude-code-action/issues/962)) ([#963](https://redirect.github.com/anthropics/claude-code-action/issues/963))
* [`3943183`](anthropics/claude-code-action@3943183) chore: bump Claude Code to 2.1.108 and Agent SDK to 0.2.108
* Additional commits viewable in [compare view](anthropics/claude-code-action@b47fd72...38ec876)
  
Updates `github/codeql-action` from 4.35.1 to 4.35.2
Release notes

*Sourced from [github/codeql-action's releases](https://github.com/github/codeql-action/releases).*

> v4.35.2
> -------
>
> * The undocumented TRAP cache cleanup feature that could be enabled using the `CODEQL_ACTION_CLEANUP_TRAP_CACHES` environment variable is deprecated and will be removed in May 2026. If you are affected by this, we recommend disabling TRAP caching by passing the `trap-caching: false` input to the `init` Action. [#3795](https://redirect.github.com/github/codeql-action/pull/3795)
> * The Git version 2.36.0 requirement for improved incremental analysis now only applies to repositories that contain submodules. [#3789](https://redirect.github.com/github/codeql-action/pull/3789)
> * Python analysis on GHES no longer extracts the standard library, relying instead on models of the standard library. This should result in significantly faster extraction and analysis times, while the effect on alerts should be minimal. [#3794](https://redirect.github.com/github/codeql-action/pull/3794)
> * Fixed a bug in the validation of OIDC configurations for private registries that was added in CodeQL Action 4.33.0 / 3.33.0. [#3807](https://redirect.github.com/github/codeql-action/pull/3807)
> * Update default CodeQL bundle version to [2.25.2](https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.2). [#3823](https://redirect.github.com/github/codeql-action/pull/3823)


Changelog

*Sourced from [github/codeql-action's changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md).*

> CodeQL Action Changelog
> =======================
>
> See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs.
>
> [UNRELEASED]
> ------------
>
> No user facing changes.
>
> 4.35.2 - 15 Apr 2026
> --------------------
>
> * The undocumented TRAP cache cleanup feature that could be enabled using the `CODEQL_ACTION_CLEANUP_TRAP_CACHES` environment variable is deprecated and will be removed in May 2026. If you are affected by this, we recommend disabling TRAP caching by passing the `trap-caching: false` input to the `init` Action. [#3795](https://redirect.github.com/github/codeql-action/pull/3795)
> * The Git version 2.36.0 requirement for improved incremental analysis now only applies to repositories that contain submodules. [#3789](https://redirect.github.com/github/codeql-action/pull/3789)
> * Python analysis on GHES no longer extracts the standard library, relying instead on models of the standard library. This should result in significantly faster extraction and analysis times, while the effect on alerts should be minimal. [#3794](https://redirect.github.com/github/codeql-action/pull/3794)
> * Fixed a bug in the validation of OIDC configurations for private registries that was added in CodeQL Action 4.33.0 / 3.33.0. [#3807](https://redirect.github.com/github/codeql-action/pull/3807)
> * Update default CodeQL bundle version to [2.25.2](https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.2). [#3823](https://redirect.github.com/github/codeql-action/pull/3823)
>
> 4.35.1 - 27 Mar 2026
> --------------------
>
> * Fix incorrect minimum required Git version for [improved incremental analysis](https://redirect.github.com/github/roadmap/issues/1158): it should have been 2.36.0, not 2.11.0. [#3781](https://redirect.github.com/github/codeql-action/pull/3781)
>
> 4.35.0 - 27 Mar 2026
> --------------------
>
> * Reduced the minimum Git version required for [improved incremental analysis](https://redirect.github.com/github/roadmap/issues/1158) from 2.38.0 to 2.11.0. [#3767](https://redirect.github.com/github/codeql-action/pull/3767)
> * Update default CodeQL bundle version to [2.25.1](https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.1). [#3773](https://redirect.github.com/github/codeql-action/pull/3773)
>
> 4.34.1 - 20 Mar 2026
> --------------------
>
> * Downgrade default CodeQL bundle version to [2.24.3](https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.24.3) due to issues with a small percentage of Actions and JavaScript analyses. [#3762](https://redirect.github.com/github/codeql-action/pull/3762)
>
> 4.34.0 - 20 Mar 2026
> --------------------
>
> * Added an experimental change which disables TRAP caching when [improved incremental analysis](https://redirect.github.com/github/roadmap/issues/1158) is enabled, since improved incremental analysis supersedes TRAP caching. This will improve performance and reduce Actions cache usage. We expect to roll this change out to everyone in March. [#3569](https://redirect.github.com/github/codeql-action/pull/3569)
> * We are rolling out improved incremental analysis to C/C++ analyses that use build mode `none`. We expect this rollout to be complete by the end of April 2026. [#3584](https://redirect.github.com/github/codeql-action/pull/3584)
> * Update default CodeQL bundle version to [2.25.0](https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.0). [#3585](https://redirect.github.com/github/codeql-action/pull/3585)
>
> 4.33.0 - 16 Mar 2026
> --------------------
>
> * Upcoming change: Starting April 2026, the CodeQL Action will skip collecting file coverage information on pull requests to improve analysis performance. File coverage information will still be computed on non-PR analyses. Pull request analyses will log a warning about this upcoming change. [#3562](https://redirect.github.com/github/codeql-action/pull/3562)
>
>   To opt out of this change:
>
>   + **Repositories owned by an organization:** Create a custom repository property with the name `github-codeql-file-coverage-on-prs` and the type "True/false", then set this property to `true` in the repository's settings. For more information, see [Managing custom properties for repositories in your organization](https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization). Alternatively, if you are using an advanced setup workflow, you can set the `CODEQL_ACTION_FILE_COVERAGE_ON_PRS` environment variable to `true` in your workflow.
>   + **User-owned repositories using default setup:** Switch to an advanced setup workflow and set the `CODEQL_ACTION_FILE_COVERAGE_ON_PRS` environment variable to `true` in your workflow.
>   + **User-owned repositories using advanced setup:** Set the `CODEQL_ACTION_FILE_COVERAGE_ON_PRS` environment variable to `true` in your workflow.
> * Fixed [a bug](https://redirect.github.com/github/codeql-action/issues/3555) which caused the CodeQL Action to fail loading repository properties if a "Multi select" repository property was configured for the repository. [#3557](https://redirect.github.com/github/codeql-action/pull/3557)
> * The CodeQL Action now loads [custom repository properties](https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization) on GitHub Enterprise Server, enabling the customization of features such as `github-codeql-disable-overlay` that was previously only available on GitHub.com. [#3559](https://redirect.github.com/github/codeql-action/pull/3559)
> * Once [private package registries](https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries) can be configured with OIDC-based authentication for organizations, the CodeQL Action will now be able to accept such configurations. [#3563](https://redirect.github.com/github/codeql-action/pull/3563)
> * Fixed the retry mechanism for database uploads. Previously this would fail with the error "Response body object should not be disturbed or locked". [#3564](https://redirect.github.com/github/codeql-action/pull/3564)
> * A warning is now emitted if the CodeQL Action detects a repository property whose name suggests that it relates to the CodeQL Action, but which is not one of the properties recognised by the current version of the CodeQL Action. [#3570](https://redirect.github.com/github/codeql-action/pull/3570)
>
> 4.32.6 - 05 Mar 2026
> --------------------

... (truncated)


Commits

* [`95e58e9`](github/codeql-action@95e58e9) Merge pull request [#3824](https://redirect.github.com/github/codeql-action/issues/3824) from github/update-v4.35.2-d2e135a73
* [`6f31bfe`](github/codeql-action@6f31bfe) Update changelog for v4.35.2
* [`d2e135a`](github/codeql-action@d2e135a) Merge pull request [#3823](https://redirect.github.com/github/codeql-action/issues/3823) from github/update-bundle/codeql-bundle-v2.25.2
* [`60abb65`](github/codeql-action@60abb65) Add changelog note
* [`5a0a562`](github/codeql-action@5a0a562) Update default bundle to codeql-bundle-v2.25.2
* [`6521697`](github/codeql-action@6521697) Merge pull request [#3820](https://redirect.github.com/github/codeql-action/issues/3820) from github/dependabot/github\_actions/dot-github/wor...
* [`3c45af2`](github/codeql-action@3c45af2) Merge pull request [#3821](https://redirect.github.com/github/codeql-action/issues/3821) from github/dependabot/npm\_and\_yarn/npm-minor-345b93...
* [`f1c3393`](github/codeql-action@f1c3393) Rebuild
* [`1024fc4`](github/codeql-action@1024fc4) Rebuild
* [`9dd4cfe`](github/codeql-action@9dd4cfe) Bump the npm-minor group across 1 directory with 6 updates
* Additional commits viewable in [compare view](github/codeql-action@c10b806...95e58e9)
  
Updates `actions/cache` from 5.0.4 to 5.0.5
Release notes

*Sourced from [actions/cache's releases](https://github.com/actions/cache/releases).*

> v5.0.5
> ------
>
> What's Changed
> --------------
>
> * Update ts-http-runtime dependency by [`@​yacaovsnc`](https://github.com/yacaovsnc) in [actions/cache#1747](https://redirect.github.com/actions/cache/pull/1747)
>
> **Full Changelog**: <actions/cache@v5...v5.0.5>


Changelog

*Sourced from [actions/cache's changelog](https://github.com/actions/cache/blob/main/RELEASES.md).*

> Releases
> ========
>
> How to prepare a release
> ------------------------
>
> > [!NOTE]  
> > Relevant for maintainers with write access only.
>
> 1. Switch to a new branch from `main`.
> 2. Run `npm test` to ensure all tests are passing.
> 3. Update the version in [`https://github.com/actions/cache/blob/main/package.json`](https://github.com/actions/cache/blob/main/package.json).
> 4. Run `npm run build` to update the compiled files.
> 5. Update this [`https://github.com/actions/cache/blob/main/RELEASES.md`](https://github.com/actions/cache/blob/main/RELEASES.md) with the new version and changes in the `## Changelog` section.
> 6. Run `licensed cache` to update the license report.
> 7. Run `licensed status` and resolve any warnings by updating the [`https://github.com/actions/cache/blob/main/.licensed.yml`](https://github.com/actions/cache/blob/main/.licensed.yml) file with the exceptions.
> 8. Commit your changes and push your branch upstream.
> 9. Open a pull request against `main` and get it reviewed and merged.
> 10. Draft a new release <https://github.com/actions/cache/releases> use the same version number used in `package.json`
>     1. Create a new tag with the version number.
>     2. Auto generate release notes and update them to match the changes you made in `RELEASES.md`.
>     3. Toggle the set as the latest release option.
>     4. Publish the release.
> 11. Navigate to <https://github.com/actions/cache/actions/workflows/release-new-action-version.yml>
>     1. There should be a workflow run queued with the same version number.
>     2. Approve the run to publish the new version and update the major tags for this action.
>
> Changelog
> ---------
>
> ### 5.0.4
>
> * Bump `minimatch` to v3.1.5 (fixes ReDoS via globstar patterns)
> * Bump `undici` to v6.24.1 (WebSocket decompression bomb protection, header validation fixes)
> * Bump `fast-xml-parser` to v5.5.6
>
> ### 5.0.3
>
> * Bump `@actions/cache` to v5.0.5 (Resolves: <https://github.com/actions/cache/security/dependabot/33>)
> * Bump `@actions/core` to v2.0.3
>
> ### 5.0.2
>
> * Bump `@actions/cache` to v5.0.3 [#1692](https://redirect.github.com/actions/cache/pull/1692)
>
> ### 5.0.1
>
> * Update `@azure/storage-blob` to `^12.29.1` via `@actions/cache@5.0.1` [#1685](https://redirect.github.com/actions/cache/pull/1685)
>
> ### 5.0.0
>
> > [!IMPORTANT]
> > `actions/cache@v5` runs on the Node.js 24 runtime and requires a minimum Actions Runner version of `2.327.1`.

... (truncated)


Commits

* [`27d5ce7`](actions/cache@27d5ce7) Merge pull request [#1747](https://redirect.github.com/actions/cache/issues/1747) from actions/yacaovsnc/update-dependency
* [`f280785`](actions/cache@f280785) licensed changes
* [`619aeb1`](actions/cache@619aeb1) npm run build generated dist files
* [`bcf16c2`](actions/cache@bcf16c2) Update ts-http-runtime to 0.3.5
* See full diff in [compare view](actions/cache@6682284...27d5ce7)
  
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
  
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot show  ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore  major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore  minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore  ` will remove the ignore condition of the specified dependency and ignore conditions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants