Skip to content

Latest commit

 

History

History
53 lines (38 loc) · 2.12 KB

File metadata and controls

53 lines (38 loc) · 2.12 KB

Release workflows

GitHub Actions only loads workflow YAML from .github/workflows/ (repo root). Executable files use the release-* prefix there; this folder is the index and runbook for semver releases.

Pipeline map: .github/CI-CD.md · Release guide: docs/RELEASE.md

Workflows

Workflow File Job Trigger Purpose
Release / GitHub ../release-github.yml Create GitHub Release Tag v* Full CI parity, dist tarball, CycloneDX SBOM, release notes
Release / Docker Hub ../release-docker-hub.yml Build and push Tag v* Push image to Docker Hub, smoke test, Hub metadata + tag prune

Tag vX.Y.Z must match package.json version.

No workflow_dispatch — tag push only (use git tag vX.Y.Z && git push origin vX.Y.Z).

Release flow

git tag v1.2.3 && git push origin v1.2.3
        │
        ├── release-github.yml   → GitHub Release + assets
        ├── release-docker-hub.yml → Hub push (if secrets set)
        └── deploy-pages.yml     → docs site (if docs changed since last deploy)

Secrets

Secret Workflow Required
GITHUB_TOKEN release-github.yml Auto
DOCKERHUB_USERNAME release-docker-hub.yml Optional — skip push if unset
DOCKERHUB_TOKEN release-docker-hub.yml Optional

Docker Hub jobs use environment docker. See docs/DOCKER.md and ACTIONS-SECRETS.md.

Local parity (pre-tag checklist)

make check
npm run build && npm run build:server
# Tag must match package.json:
node -p "require('./package.json').version"

Related

Topic Doc
Hub tag policy docs/dockerhub/HUB-SETTINGS.md
Ops (metadata / prune) ../ops/README.md
Publishing overview docs/PUBLISHING.md