CI build and release workflow #236

Merged
aaperis merged 3 commits from feat/ci-release-workflow into develop 2026-10-01 07:45:17 +00:00
aaperis commented 2026-09-29 22:25:16 +00:00 (Migrated from github.com)

Description

Summary

This PR adds a Docker build and release workflow that supports our Git Flow branching model.

  • Dev image built on every merge to develop
  • Full release when develop is merged to main (image + tag + GitHub Release + sync-back PR)

Type of change

  • New feature (non-breaking change which adds functionality)

List of changes made

On push to develop

Builds and pushes a Docker image tagged with:

  • develop
  • sha-<short>
  • <YYYYMMDD-HHMM>
  • PR<number>

This is skipped automatically when the push is a sync-back PR from main.

On push to main (via a release PR)

Full release cycle:

  1. Reads version from frontend/package.json
  2. Skips if the corresponding vX.Y.Z tag already exists
  3. Creates and pushes git tag vX.Y.Z
  4. Builds and pushes Docker image tagged with:
    • main, <version>, <major>.<minor>, <major>, latest
    • sha-<short>, <YYYYMMDD-HHMM>
  5. Creates a GitHub Release with auto-generated release notes
  6. Opens a sync-back PR: from main to develop

Release Process

  1. Checkout a release branch from develop
  2. Bump the version:
cd frontend
npm version 0.2.0 --no-git-tag-version

OR by manually editing

package.json
package-lock.json

Commit and push

  1. Open PR: targeting main and merge. The workflow should release automatically.

  2. Merge the sync-back PR back into develop. The dev image build is auto-skipped for this merge.

Testing

I guess we will see after merging.

## Description ## Summary This PR adds a Docker build and release workflow that supports our Git Flow branching model. - **Dev image** built on every merge to `develop` - **Full release** when `develop` is merged to `main` (image + tag + GitHub Release + sync-back PR) ## Type of change - [x] New feature (non-breaking change which adds functionality) ## List of changes made ### On push to `develop` Builds and pushes a Docker image tagged with: - `develop` - `sha-<short>` - `<YYYYMMDD-HHMM>` - `PR<number>` This is skipped automatically when the push is a sync-back PR from `main`. ### On push to `main` (via a release PR) Full release cycle: 1. Reads version from `frontend/package.json` 2. Skips if the corresponding `vX.Y.Z` tag already exists 3. Creates and pushes git tag `vX.Y.Z` 4. Builds and pushes Docker image tagged with: - `main`, `<version>`, `<major>.<minor>`, `<major>`, `latest` - `sha-<short>`, `<YYYYMMDD-HHMM>` 5. Creates a GitHub Release with auto-generated release notes 6. Opens a sync-back PR: from `main` to `develop` ## Release Process 1. Checkout a release branch from develop 2. Bump the version: ```bash cd frontend npm version 0.2.0 --no-git-tag-version ``` OR by manually editing ``` package.json package-lock.json ``` Commit and push 3. Open PR: targeting main and merge. The workflow should release automatically. 4. Merge the sync-back PR back into develop. The dev image build is auto-skipped for this merge. ## Testing I guess we will see after merging.
andkaha (Migrated from github.com) approved these changes 2026-10-01 07:45:11 +00:00
andkaha (Migrated from github.com) left a comment

Looks good upon first inspection. We'll see how it runs.

Looks good upon first inspection. We'll see how it runs.
Sign in to join this conversation.
No description provided.