Skip to content

release: v2.2.0+node25.9.0 into main#90

Merged
Amnoor merged 10 commits intomainfrom
maintenance/v2+node25
Apr 4, 2026
Merged

release: v2.2.0+node25.9.0 into main#90
Amnoor merged 10 commits intomainfrom
maintenance/v2+node25

Conversation

@Amnoor
Copy link
Copy Markdown
Member

@Amnoor Amnoor commented Apr 4, 2026

Summary

This PR promotes maintenance/v2+node25 into main, delivering v2.2.0+node25.9.0 to the main line. It consolidates five maintenance cycles: the Node.js base image bump from 25.8.2 to 25.9.0, the PR test workflow move from Docker Hub-pushed images to OCI artifact handoff, the docker/build-push-action upgrade to v7 in both workflows, the release workflow attestation update to signed mode=max provenance and SBOM output, and documentation updates aligning examples and CI/CD tooling references with the current release state.

Files Changed

Added:

  • None

Modified:

  • CONTRIBUTING.md
  • Dockerfile
  • README.md
  • .github/
    • workflows/
      • deployment.yml
      • pr-tests.yml

Deleted:

  • None

Key Changes

  • Updated the builder stage base image in Dockerfile from node:25.8.2-alpine3.23 to node:25.9.0-alpine3.23, bumping the bundled Node.js runtime from 25.8.2 to 25.9.0.
  • Updated .github/workflows/pr-tests.yml to stop pushing PR images to Docker Hub by changing the Build Image step from push: true to push: false with outputs: type=oci,dest=image.tar, adding Upload Docker Image Artifact, Download Docker Image Artifact, Extract single-arch image with Skopeo, and artifact-clean-up, and changing the test image flow to local per-architecture images derived from the OCI artifact.
  • Updated .github/workflows/pr-tests.yml from uses: docker/build-push-action@v6 to uses: docker/build-push-action@v7 in the Build Image step, and updated .github/workflows/deployment.yml from uses: docker/build-push-action@v5 to uses: docker/build-push-action@v7 in the Build and push (multi-registry, multi-platform) step.
  • Added id-token: write to the top-level permissions: block in .github/workflows/deployment.yml and replaced provenance: true and sbom: true with attests: entries type=provenance,mode=max and type=sbom,mode=max in the Build and push (multi-registry, multi-platform) step.
  • Updated the Node.js Version Bumps example in CONTRIBUTING.md from node:25.8.2-alpine3.23 to node:25.9.0-alpine3.23, updated the Versioning and Tags example in README.md from v2.1.3+node25.8.2 to v2.2.0+node25.9.0, and added actions/upload-artifact, actions/download-artifact, geekyeggo/delete-artifact, chrnorm/deployment-action, and chrnorm/deployment-status to the CI/CD & Build Tooling section of README.md.

dependabot bot and others added 10 commits April 2, 2026 21:26
Bumps node from 25.8.2-alpine3.23 to 25.9.0-alpine3.23.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 25.9.0-alpine3.23
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…nto the "develop" branch

build(deps): Bump node from 25.8.2-alpine3.23 to 25.9.0-alpine3.23
This merge updates `.github/workflows/pr-tests.yml` to stop pushing PR test images to Docker Hub and instead pass the built image between jobs as an OCI artifact. The test workflow now uploads the multi-arch build output from `build-image`, downloads it in `test-image`, extracts a per-architecture image into the local Docker daemon with `skopeo`, and removes the artifact after testing. The artifact name now includes the pull request number so concurrent PR runs do not share the same artifact identifier.

In `build-image`, the `Login to Docker Hub` step is removed and the `Build Image` step changes from `push: true` to `push: false` with `outputs: type=oci,dest=image.tar`, so the workflow produces a local OCI archive instead of publishing a PR image to Docker Hub. A new `Upload Docker Image Artifact` step uses `actions/upload-artifact@v4` to persist `image.tar` as `docker-image-pr-${{ github.event.pull_request.number }}`. In `test-image`, the Docker Hub login and `docker pull` flow are removed, `TEST_IMAGE` changes from `runtimenode/test:pr-${{ github.event.pull_request.number }}` to `test:pr-${{ github.event.pull_request.number }}`, and new `Download Docker Image Artifact` and `Extract single-arch image with Skopeo` steps load each matrix entry’s `linux/amd64` or `linux/arm64` image as `test:pr-<number>-<arch>`. The smoke test and all integrity checks are updated to resolve `${{ matrix.platform }}` into `ARCH` and run against `${{ env.TEST_IMAGE }}-$ARCH` so they validate the locally extracted per-architecture image. A new `artifact-clean-up` job then removes `docker-image-pr-${{ github.event.pull_request.number }}` using `geekyeggo/delete-artifact@v4` after testing completes.

No other files or workflow jobs are modified by this merge.
…p" branch

This merge updates the GitHub Actions workflows to use `docker/build-push-action@v7` instead of the current older major versions. It applies the version bump in both `.github/workflows/deployment.yml` and `.github/workflows/pr-tests.yml` while keeping the existing build, attestation, cache, and artifact logic unchanged.

In `.github/workflows/deployment.yml`, the `Build and push (multi-registry, multi-platform)` step is updated from `uses: docker/build-push-action@v5` to `uses: docker/build-push-action@v7` without changing the existing `attests:`, tag, label, platform, or cache settings. In `.github/workflows/pr-tests.yml`, the `Build Image` step is updated from `uses: docker/build-push-action@v6` to `uses: docker/build-push-action@v7` without changing the existing OCI archive output, multi-platform build, tag, or cache configuration.

No other files or workflow jobs are modified by this merge.
This merge updates `README.md` and `CONTRIBUTING.md` on `develop` so the documentation reflects the upcoming Node.js `25.9.0` release line and the current CI/CD tooling used by the repository. It refreshes the version examples in both documents and expands the README acknowledgements so recently added workflow actions are documented alongside the existing build and release tooling.

In `CONTRIBUTING.md`, the Node.js Version Bumps example is updated from `node:25.8.2-alpine3.23` to `node:25.9.0-alpine3.23`. In `README.md`, the Versioning and Tags example is updated from `v2.1.3+node25.8.2` to `v2.2.0+node25.9.0`. The CI/CD & Build Tooling section of `README.md` is also expanded to add `actions/upload-artifact`, `actions/download-artifact`, and `geekyeggo/delete-artifact` for the PR test artifact workflow, plus `chrnorm/deployment-action` and `chrnorm/deployment-status` for GitHub Deployment tracking in the release workflow.

No other files or documentation sections are modified by this merge.
…+node25" branch

This merge promotes `release/v2.2.0+node25.9.0` into `maintenance/v2+node25`, marking the next minor release on the Node.js 25 maintenance line. It consolidates five development cycles: the Node.js base image bump from `25.8.2` to `25.9.0`, the PR test workflow move from Docker Hub-pushed images to OCI artifact handoff, the `docker/build-push-action` upgrade to `v7` in both workflows, the release workflow attestation update to signed `mode=max` provenance and SBOM output, and documentation updates aligning examples and CI/CD tooling references with the current release state.

In `Dockerfile`, the builder stage base image is updated from `node:25.8.2-alpine3.23` to `node:25.9.0-alpine3.23`, bumping the bundled Node.js runtime from `25.8.2` to `25.9.0`. In `.github/workflows/pr-tests.yml`, the PR image flow no longer pushes test images to Docker Hub; `Build Image` changes from `push: true` to `push: false` with `outputs: type=oci,dest=image.tar`, a new `Upload Docker Image Artifact` step persists the OCI archive, `Download Docker Image Artifact` and `Extract single-arch image with Skopeo` load per-architecture images for the test matrix, all smoke and integrity checks now target the locally extracted per-architecture image tags, and a new `artifact-clean-up` job removes the uploaded artifact after testing completes. The same workflow also updates `uses: docker/build-push-action@v6` to `uses: docker/build-push-action@v7` in `Build Image`, while `.github/workflows/deployment.yml` updates `uses: docker/build-push-action@v5` to `uses: docker/build-push-action@v7` in `Build and push (multi-registry, multi-platform)`.

In `.github/workflows/deployment.yml`, the top-level `permissions:` block now adds `id-token: write` so the release job can mint the OIDC token required for attestation signing, and the multi-platform build step replaces `provenance: true` and `sbom: true` with `attests:` entries `type=provenance,mode=max` and `type=sbom,mode=max`. In `CONTRIBUTING.md`, the Node.js Version Bumps example is updated from `node:25.8.2-alpine3.23` to `node:25.9.0-alpine3.23`. In `README.md`, the Versioning and Tags example is updated from `v2.1.3+node25.8.2` to `v2.2.0+node25.9.0`, and the `CI/CD & Build Tooling` section adds `actions/upload-artifact`, `actions/download-artifact`, `geekyeggo/delete-artifact`, `chrnorm/deployment-action`, and `chrnorm/deployment-status`.

No migration steps are required beyond updating to `v2.2.0+node25.9.0` on the `maintenance/v2+node25` line.
@Amnoor Amnoor merged commit fa91761 into main Apr 4, 2026
7 checks passed
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 37c8311def

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


# Remove the Docker image artifact to free up storage space
- name: Remove Docker Image Artifact
uses: geekyeggo/delete-artifact@v4
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Guard artifact deletion when workflow token is read-only

This new cleanup step can fail legitimate PR checks from forks (and Dependabot) because those pull_request runs get a read-only GITHUB_TOKEN, while geekyeggo/delete-artifact requires write access to Actions and fails by default on permission errors. In that scenario, tests can pass but the workflow still ends in failure at cleanup, blocking external contributions unless this step is skipped/soft-failed for read-only contexts.

Useful? React with 👍 / 👎.

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