| type | Reference | |||||
|---|---|---|---|---|---|---|
| title | CI/CD and Release Process | |||||
| description | GitHub Actions workflow for building and publishing multi-arch Docker images to Docker Hub and GHCR, including release steps, secrets, and OpenWiki automation. | |||||
| tags |
|
.github/workflows/deploy-image.yml builds and publishes multi-arch Docker images automatically when any git tag is pushed.
on:
push:
tags:
- "*"Pushing any tag triggers the build. There is no branch filter — the tag itself determines the image tag name.
sequenceDiagram
participant Dev as Developer
participant GH as GitHub Actions
participant Buildx as Docker Buildx (QEMU)
participant Hub as Docker Hub
participant GHCR as ghcr.io
Dev->>GH: push tag (e.g. 25-graalce)
GH->>GH: checkout, setup QEMU + Buildx
GH->>Hub: login (DOCKER_USER / DOCKER_TOKEN)
GH->>GHCR: login (GITHUB_TOKEN)
GH->>Buildx: build linux/amd64 + linux/arm64
Buildx->>Hub: push :latest + :<tag>
Buildx->>GHCR: push :latest + :<tag>
Each build pushes to both registries with two tags:
| Tag pattern | Example |
|---|---|
latest |
softinstigate/graalvm-maven:latest |
<git-tag> |
softinstigate/graalvm-maven:25-graalce |
| Secret | Used by | Purpose |
|---|---|---|
DOCKER_USER |
Docker Hub login | Hub username |
DOCKER_TOKEN |
Docker Hub login | Hub access token |
GITHUB_TOKEN |
GHCR login | Automatic — no manual setup needed |
- Update
ARG JAVA_VERSIONandARG MAVEN_VERSIONinDockerfile. - Update the version table in
README.mdto match. - Commit and push to
main. - Create and push a git tag matching the GraalVM version (e.g.
25-graalce):git tag 25-graalce git push origin 25-graalce
- GitHub Actions builds and publishes the image automatically.
The dedicated OpenWiki automation workflow (previously .github/workflows/openwiki-update.yml) has been removed. Documentation updates are now handled manually or through external orchestration.
The CI workflow consumes the Dockerfile as-is — it does not override ARG values at build time. This means the version ARGs in the Dockerfile are the sole source of truth for what gets installed in the published image.