Files
minecraft-account-manager/design/us-016-automated-releases.md
T
dmg ccb44fa253
CI / validate (push) Successful in 5m5s
Release / release (push) Successful in 7m5s
fix(release): publish immutable image tags only
2026-08-01 15:57:17 -04:00

2.6 KiB

type, title, description, tags, timestamp, story_id, status
type title description tags timestamp story_id status
User Story Build and publish versioned releases Gitea Actions validate every change and publish semantically versioned Velocity and container artifacts.
operations
ci
release
velocity
docker
2026-08-01T19:56:39Z US-016 implemented

User Story

As a platform operator, I want automated validation and semantic releases, so that deployable web, migration, and Velocity artifacts are reproducible and downloadable.

Acceptance Criteria

  • Pushes and pull requests run OKF validation, linting, type checks, tests, the web build, and the Velocity build.
  • Pull requests validate conventional commit messages.
  • CI uploads the development Velocity JAR as a workflow artifact.
  • Main-branch conventional commits determine the next semantic version and create a vMAJOR.MINOR.PATCH tag.
  • A release build embeds the semantic version in the Velocity plugin and JAR filename.
  • A public Gitea release exposes the versioned Velocity JAR as a downloadable asset.
  • Releases publish semantically versioned web runtime images to the Gitea registry.
  • Releases publish semantically versioned Discord bot images to the Gitea registry.
  • Releases publish semantically versioned migration images that run versioned Drizzle migrations.
  • Releases do not publish mutable container tags such as latest.
  • Runtime containers use unprivileged users and exclude development source and secrets where practical.
  • Operators are told which repository secrets must be configured before the first push.

Implementation

Validation

Local OKF, lint, typecheck, test, Next.js build, and versioned Velocity JAR checks pass. Initial Gitea CI and release runs succeeded. Release v1.0.0 provides a publicly downloadable JAR whose Velocity metadata reports 1.0.0. Registry manifests were resolved for the published semantic-version tags. Release v1.1.0 also publishes resolvable versioned web, Discord bot, and migration manifests and a public Velocity JAR whose metadata reports 1.1.0. Pull-request commitlint configuration is present; its conditional execution will be exercised by the first pull request.

Related Stories