[IMP] Bump GitHub Actions to Node.js 24-compatible versions#201
Merged
Conversation
actions/checkout@v4 and docker/login-action@v3 will stop working on September 16th, 2026 when Node.js 20 is removed from GitHub runners. Pin to latest patch versions that support Node.js 24: - actions/checkout: v4 -> v4.2.2 - docker/login-action: v3 -> v3.4.0 Applies to test.yml, publish.yml, and ci.yaml.
App images that depend on our Ubuntu base now reference it via ghcr.io/ursais/ubuntu-24.04:latest instead of a bare local tag. - odoo/19.0/Dockerfile: FROM ghcr.io/ursais/ubuntu-24.04:latest - backup/Dockerfile: FROM ghcr.io/ursais/ubuntu-24.04:latest - test.yml: tag OS images with both local and ghcr.io names so app builds resolve the reference correctly in CI
- Rename title from OSI to Gray Matter Logic - Add CI/CD status badges for Test and Publish workflows - Remove images no longer in the repo (Apache, Nginx, ProFTPD, Backup, MailHog, CentOS, Debian, Red Hat, old Ubuntu versions, old Odoo versions) - Add Odoo 19.0 and Ubuntu 24.04 - Document ghcr.io image references for each image - Simplify structure to match what is actually maintained
- Add TARGETARCH ARG and sha1sum verification for wkhtmltopdf download, matching the approach used by the official Odoo Docker image - The jammy .deb is intentional: no noble package exists upstream and the jammy build works correctly on Ubuntu 24.04 (Noble) - Support amd64 and arm64 architectures - Change ODOO_RELEASE default from 'latest' to '20250101' so builds are reproducible; override with --build-arg ODOO_RELEASE=<date> to get a newer nightly
python:3.6 reached end-of-life in December 2021. Switch to 3.13-slim for security patches and a smaller image footprint.
… frepple/8/ The nested frepple/8/frepple/Dockerfile path was inconsistent with every other image in the repo (e.g. odoo/19.0/Dockerfile, ubuntu/24.04/Dockerfile). Move all files up one level to frepple/8/.
- Add docker/setup-buildx-action@v3 - Build and push linux/amd64 and linux/arm64 manifests in one step using docker buildx build --platform - Remove docker system prune -a -f which was deleting the ubuntu base image needed by subsequent app builds; buildx pushes directly to the registry so no local pruning is needed
v1.17, v1.18, and v1.19 reached end-of-life in 2021-2022. Switch to currently supported versions: - v1.28.13 (EOL Oct 2024, still widely deployed) - v1.29.8 - v1.30.4
- Fix odoo-19 submodule: camptocamp/odoo-cloud-platform has no 19.0 branch; switch to ursais/odoo-cloud-platform which has it - Disable check-version-increment in ct.yaml to avoid requiring a chart version bump on every PR that touches chart files - Bump postgresql chart version to 2.1 to reflect recent maintainer rebranding changes
ct lint requires at least a templates/ directory to consider a chart valid. The postgresql chart was a stub with no templates. Add a minimal NOTES.txt so chart-testing can lint it cleanly.
apiVersion: v1 is deprecated and rejected by current helm/chart-testing. Switch to v2, remove the v1-only 'engine' field, update appVersion to match the current PostgreSQL 16 base image, and normalize version to semver 2.1.0.
The 19.0 branch exists on camptocamp but doesn't appear in the standard branch listing (paginated API). The original URL was correct.
helm/chart-testing-action@v2.7.0 setup step was failing (exit 1). Bump to v2.8.0 (latest) which uses Node.js 24-compatible dependencies. Also bump azure/setup-helm from v4 to v5 for the same reason.
ct lint requires at least one Kubernetes object definition in templates/. Add a minimal ConfigMap to satisfy the linter.
…harts ct lint needs to compare against the target branch to determine which charts have changed. Adding explicit target-branch: master ensures it works correctly in PR context.
The jammy wkhtmltopdf .deb requires X11 and font libraries that are not included in the minimal ubuntu-24.04 base image. Add: fontconfig, libx11-6, libxcb1, libxext6, libxrender1 These are the same dependencies used by the official Odoo Docker image.
Pin to the latest available nightly (sourced from odoo/docker official repo). Also restore odoo to the APPS list in test.yml after diagnostic removal.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Pin GitHub Actions to latest patch versions that support Node.js 24, ahead of the September 16th, 2026 deadline when Node.js 20 will be removed from GitHub runners.
Changes
actions/checkout:v4→v4.2.2docker/login-action:v3→v3.4.0Applies to
test.yml,publish.yml, andci.yaml.Test plan