Skip to content

Disable cache-aware actions throughout release workflows - #21196

Merged
zanieb merged 1 commit into
mainfrom
zb/release-actions-cache-mode
Aug 18, 2026
Merged

zanieb merged 1 commit into
mainfrom
zb/release-actions-cache-mode

Conversation

@astral-automations-bot

Copy link
Copy Markdown
Contributor

Trusted release actions must not accidentally restore a poisoned shared GitHub cache. Set ACTIONS_CACHE_MODE: none in release.yml and each reusable workflow it calls so clients that support the variable skip cache reads and writes. Each reusable workflow needs its own setting because workflow-level environment variables do not propagate to called workflows. The shared binary-build workflow uses the same cache-disabled setting when invoked by CI.

This is a cooperative client-side default, not token revocation or server-enforced denial. Older or independent clients, or code calling the cache API directly, can still access the service. The @actions/cache library's 6.2.0 change skips operations before contacting the cache backend; that is separate from its handling of server-denied requests. The release graph uses [email protected] and [email protected], whose pinned setup-uv and setup-python dependencies include @actions/[email protected]. Both honor this variable. The separate actions/[email protected] action still bundles @actions/[email protected] and does not honor it; the release graph does not invoke that action directly.

Stacked on astral-sh#761, which keeps the action-specific opt-outs, removes the docs Rust cache, and explicitly disables maturin's sccache integration. release-prepare.yml, same-run artifacts, and Depot's own cache are unchanged.

@zanieb
zanieb enabled auto-merge (squash) August 18, 2026 17:25
@zanieb zanieb added internal A refactor or improvement that is not user-facing security labels Aug 18, 2026
@zanieb
zanieb merged commit 36c8186 into main Aug 18, 2026
105 of 106 checks passed
@zanieb
zanieb deleted the zb/release-actions-cache-mode branch August 18, 2026 17:37
zanieb added a commit to astral-sh/ty that referenced this pull request Aug 18, 2026
Release jobs can consume shared GitHub caches when an action's cache
defaults change. Set `ACTIONS_CACHE_MODE: none` in `release.yml` and
every reusable workflow it calls so compatible clients skip cache reads
and writes. Each reusable workflow needs its own setting because
workflow-level environment variables are not inherited by called
workflows. CI calls to those shared workflows use the same setting.

This does not revoke cache credentials. The pinned `[email protected]`
does not honor the variable, so the explicit client opt-outs in #4317
remain necessary. Unrelated workflows and artifact transfers are
unchanged.

Port of astral-sh/uv#21196.

Co-authored-by: Zanie Blue <[email protected]>
zanieb added a commit to astral-sh/ruff that referenced this pull request Aug 18, 2026
Release jobs can consume shared GitHub caches when an action's cache
defaults change. Set `ACTIONS_CACHE_MODE: none` in `release.yml` and
every reusable workflow it calls so compatible clients skip cache reads
and writes. Each reusable workflow needs its own setting because
workflow-level environment variables are not inherited by called
workflows. CI calls to those shared workflows use the same setting.

This does not revoke cache credentials. The pinned `[email protected]` and
`[email protected]` do not honor the variable, so the explicit client
opt-outs in #27846 remain necessary. Unrelated workflows and artifact
transfers are unchanged.

Port of astral-sh/uv#21196.

Co-authored-by: Zanie Blue <[email protected]>

This branch was previously deployed

1 inactive deployment
automations — d01f9e81 Deployed Aug 18, 2026 by astral-automations-bot[bot] via review / security review #44924
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal A refactor or improvement that is not user-facing security

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant