petercorke / petercorke/machinevision-toolbox-python

GitHub Actions versions are stale across most workflows

Open
#42 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

tech-debt
Dominant language
Python
Stars
219
Forks
30
Avg merge
12d 23h
Merged PRs (30d)
5

Description

Audited 2026-07-29 (prompted by a similar finding in another toolbox
repo). docs.yml's actions have been bumped to current majors as part of
the same change that fixed the Image sidebar bug (see git history), but
the rest of .github/workflows/ was deliberately left alone — bumping
release.yml touches the real PyPI publish pipeline and deserves its own
careful pass (verify the actual release workflow file, don't just bump
and hope), not a drive-by alongside a docs fix.

Action Pinned Latest (2026-07-29) Where Gap
actions/download-artifact v4 v8 release.yml 4 majors
actions/upload-artifact v4 v7 release.yml 3 majors
actions/checkout v6 v7 ci.yml, release.yml 1 major
actions/setup-python v6 v7 release.yml 1 major
googleapis/release-please-action v4 v5 release-please.yml 1 major
amannn/action-semantic-pull-request v5 v6 commitlint.yml 1 major
mamba-org/setup-micromamba v2 v3 ci.yml 1 major
codecov/codecov-action v6 v7 ci.yml 1 major
pypa/gh-action-pypi-publish release/v1 release.yml none — floating tag, already tracks latest v1.x

download-artifact and upload-artifact are the standouts — 3-4 majors
behind, both used in release.yml's build→publish artifact handoff. Most
of these actions/* majors turned out to be low-risk (mainly Node.js
runtime bumps: v24 requires Actions Runner ≥ v2.327.1, a non-issue on
GitHub-hosted runners), confirmed while bumping docs.yml, but
download-artifact/upload-artifact v4→v7/v8 haven't been checked for
breaking input/output changes yet — do that before bumping release.yml.

Note: the mamba-org/setup-micromamba row is moot once the separate
conda/micromamba-removal work lands — don't bump that one, just delete it.

Fix

For each remaining workflow file, check that action's release notes
between the pinned and latest major for actual breaking changes (not just
Node runtime bumps), then bump. Do release.yml last and most carefully
— it's the one that actually publishes to PyPI. Re-run
.github/workflows/ci.yml on a real PR after bumping it, since it's the
main test gate.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting .github/workflows/ci.yml, release.yml, release-please.yml, and commitlint.yml, then read release notes for each pinned action between its current and target major. Verify release.yml’s artifact handoff and PyPI publishing workflow especially carefully, and delete the obsolete setup-micromamba entry rather than bumping it. Done means the applicable actions are safely updated and a real PR reruns .github/workflows/ci.yml successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, python
Domain
ci-cd, devops, release
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.