Skip to content

chore(deps)(deps): Bump actions/checkout from 4 to 7 - #550

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/actions/checkout-7
Closed

chore(deps)(deps): Bump actions/checkout from 4 to 7#550
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/github_actions/actions/checkout-7

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 31, 2026

Copy link
Copy Markdown
Contributor

Bumps actions/checkout from 4 to 7.

Release notes

Sourced from actions/checkout's releases.

v7.0.0

What's Changed

New Contributors

Full Changelog: actions/checkout@v6.0.3...v7.0.0

v6.1.0

What's Changed

https://github.blog/changelog/2026-06-18-safer-pull_request_target-defaults-for-github-actions-checkout/ for more details about this breaking change

Full Changelog: actions/checkout@v6.0.3...v6.1.0

v6.0.3

What's Changed

New Contributors

Full Changelog: actions/checkout@v6...v6.0.3

v6.0.2

What's Changed

Full Changelog: actions/checkout@v6.0.1...v6.0.2

v6.0.1

What's Changed

... (truncated)

Commits

@dependabot @github

dependabot Bot commented on behalf of github Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: automated, dependencies. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot
dependabot Bot requested a review from Zyrtnin as a code owner August 31, 2026 06:16
Zyrtnin added a commit that referenced this pull request Sep 1, 2026
Combined the following PRs into one, to save CI runs and avoid the
strict-mode rebase cascade:

- #551 chore(deps)(deps): Bump actions/setup-python from 5 to 7
- #549 chore(deps)(deps): Bump the actions-minor-and-patch group with 3
updates
- #548 chore(deps-dev)(deps-dev): Update gitpython requirement from
>=3.1.59 to >=3.1.60
- #547 chore(deps)(deps): Update click requirement from <9.0,>=8.4.2 to
>=8.5.0,<9.0
- #546 chore(deps)(deps): Bump the python-minor-and-patch group with 4
updates

Skipped (resolve/merge these on their own):
- #550 chore(deps)(deps): Bump actions/checkout from 4 to 7 — merge
conflict

_Opened by the Combine PRs workflow. Close the superseded PRs above once
this merges._

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](actions/checkout@v4...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/github_actions/actions/checkout-7 branch from 256b341 to e95b8e7 Compare September 1, 2026 02:32
Zyrtnin added a commit that referenced this pull request Sep 1, 2026
Supersedes #550.

Dependabot proposed `actions/checkout@v4` → `@v7` in `mutation.yml`.
That is an improvement in version and a **regression in posture**: every
other checkout in this repo is pinned to a full commit SHA, and merging
it would have left two pinned to a movable tag.

Whoever controls a tag controls what executes in CI, with the repository
checked out and the job's secrets in scope — which is what SHA pinning
exists to prevent, and which this repo already runs Scorecard over.

Pinning them to the SHA the rest of the repo already uses gets the
version bump **and** the consistency.

## A third straggler

`setup-python@v7`, in the same file, was the last floating ref in the
entire repository. It turned up only because fixing the two prompted a
sweep for the whole set rather than the two the PR named.

```
before:  actions/checkout@v4      ×2      actions/setup-python@v7  ×1
after:   0 floating refs across .github/workflows/
```

## The check is a test, not a script

Deliberately. This repo has already learned twice that a checker wired
to nothing is not a checker — two mutation groups were added to
`scripts/mutation_groups.py` and never to the CI matrix, and
`check_coverage_omissions.py` sat as a taskipy task nothing invoked. The
weakest link in *detect* is the wiring, and `pytest tests/` runs in CI
unconditionally, so a test has none to forget.

`tests/test_workflow_actions_are_sha_pinned.py` asserts:

1. **no floating ref** anywhere in `.github/workflows/` (local `./`
composite actions and `docker://` refs excluded, with the reasons in the
file);
2. **one SHA per action across all workflows** — two SHAs for one action
means a bump landed in some lanes and not others, leaving a stale
version running wherever nobody looked;
3. a **guard-the-guard** check that the glob matched some workflows at
all, since a glob matching nothing passes every assertion after it.

Each of (1) and (2) was verified by its own plant. Worth noting: the
first plant attempt silently did not land (wrong target string) and the
suite stayed green — indistinguishable from a test that fails to catch.
Re-planted against the real line before trusting either assertion.

Co-authored-by: Mudwood Labs <opensource@mudwoodlabs.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Zyrtnin

Zyrtnin commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Superseded by #562 (merged).

Your bump was right about the version and would have regressed the pinning posture: actions/checkout@v7 is a movable tag, and every other checkout in this repo is pinned to a full commit SHA. Whoever controls a tag controls what executes in CI with the repository checked out and the job's secrets in scope.

#562 pins both lines to 3d3c42e5aac5ba805825da76410c181273ba90b1 (v7.0.1) — the SHA the rest of the repo already uses — so the version bump lands and the posture stays consistent.

It also caught a third straggler the same sweep turned up: setup-python@v7 in the same file, the last floating ref in the repository. And it adds tests/test_workflow_actions_are_sha_pinned.py, so a floating ref cannot come back unnoticed — which should also stop this class of Dependabot PR being opened against this repo again.

@Zyrtnin Zyrtnin closed this Sep 1, 2026
@dependabot @github

dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/github_actions/actions/checkout-7 branch September 1, 2026 07:24
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.

1 participant