Skip to content

CI: manual no-cache rebuild, Node 24 actions, pipx Poetry - #461

Merged
irvingpop merged 1 commit into
masterfrom
irving/202610-ci-node24
Oct 24, 2026
Merged

irvingpop merged 1 commit into
masterfrom
irving/202610-ci-node24

Conversation

@irvingpop

@irvingpop irvingpop commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

Ports the CI work from OperationCode/back-end#412 to pybot.

Changes

  • Manual rebuild: add workflow_dispatch with a boolean no_cache input (default true). A dispatch run builds and pushes (:prod/:latest from master, :staging from other refs). With no_cache, build-push-action gets no-cache: true and pull: true, so apt-get upgrade runs again and picks up Debian security fixes when nothing in the repo changed.

  • Venv cache key: actions/setup-python has id: setup-python. The venv caches use steps.setup-python.outputs.python-version (for example 3.14.x), not a hardcoded 3.14. A stale venv from an older patch release no longer breaks CI with "Command not found".

  • Poetry install: replace the unpinned third-party snok/install-poetry@v1 with pipx install "poetry==$POETRY_VERSION" on the setup-python interpreter. The ~/.local Poetry cache step is removed.

  • Node 24 actions:

    Action Old New Latest release
    actions/checkout v4 v7 v7.0.1
    actions/cache v4 v6 v6.1.0
    actions/setup-python v5 v7 v7.1.0
    codecov/codecov-action v5 v7 v7.1.1
    docker/setup-buildx-action v3 v4 v4.4.1
    docker/build-push-action v6 v7 v7.4.0
    aws-actions/configure-aws-credentials v4 v6 v6.3.0
    aws-actions/amazon-ecr-login v2 v2 v2.1.7 (already Node 24)

    docker/* and aws-actions/* stay on major tags, not SHAs (accepted risk).

Release notes review

No breaking change affects the inputs we use:

  • checkout v7: blocks fork-PR checkout for pull_request_target/workflow_run. We use neither.
  • setup-python v7: removed pip-install. Not used. Outputs python-version and python-path still exist.
  • setup-buildx v4: removed deprecated inputs. platforms still exists.
  • build-push v7: removed DOCKER_BUILD_NO_SUMMARY / DOCKER_BUILD_EXPORT_RETENTION_DAYS envs. Not used. no-cache and pull exist.
  • configure-aws-credentials v5/v6: stricter boolean input parsing, Node 24. We pass no boolean inputs.
  • codecov v6/v7: Node 24, signing key account change. files, fail_ci_if_error, verbose still exist.

Checks

  • actionlint 1.7.12 (with shellcheck): no issues before or after the change.
  • CVE-2026-111497 (Brotli): no change needed. Brotli is in poetry.lock only as optional extras of aiohttp[speedups] and urllib3[brotli], which are not installed.
  • CI run on this branch: all jobs green. No Node deprecation warnings in the annotations (only the ubuntu-latest to Ubuntu 26 notice).
  • Local prod image (--no-cache --pull, linux/arm64), docker scout cves --only-severity critical,high: 0 critical, 1 high: CVE-2026-85091 in zlib 1:1.3.dfsg+really1.3.1-1, no Debian fix yet. The image has no libbrotli1, curl, brotli or brotlicffi.

Dependabot

This PR supersedes the action bumps in #458, #455, #451, #450 and #449.

🤖 Generated with Claude Code

- Add workflow_dispatch with a no_cache input (default true) so a manual
  run rebuilds without layer cache, re-runs apt-get upgrade and pushes.
- Key venv caches on the exact Python version from setup-python, so a
  new patch release does not restore a stale venv.
- Install Poetry with pipx instead of the unpinned snok/install-poetry
  action, and drop the ~/.local Poetry cache.
- Bump all actions to their Node 24 majors.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@irvingpop
irvingpop merged commit 6c92e9a into master Oct 24, 2026
5 checks passed
@irvingpop
irvingpop deleted the irving/202610-ci-node24 branch October 24, 2026 15:26
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