Add main and release-tag container publication workflows #12

Open
opened 2026-06-23 22:05:31 +02:00 by André Keller · 0 comments

Current state

The CI workflow runs only for pushes to devel.

It:

  • builds and publishes the test image under the full commit SHA
  • runs independent lint and test jobs
  • publishes the production target as code.kovula.com/viafier/viafier4:devel after all checks pass

No production images are currently published from main or release tags.

Goal

Define and implement the production-image publication policy for main and version tags before the first release.

Scope

  • Decide whether pushes to main should publish:

    • a main tag
    • another development/stable tag
    • only a commit-specific production tag
  • Define the accepted release-tag format, likely v<major>.<minor>.<patch>.

  • Publish the production target only after all lint and test jobs succeed.

  • Preserve immutable commit-specific test image tags.

  • Publish release tags without introducing or moving latest unless explicitly approved.

  • Ensure tag builds use the exact tagged commit.

  • Extend the registry cleanup policy so release tags are retained.

  • Keep publication policy in the viafier repository, not in shared/workflows.

Acceptance criteria

  • Pushes to main follow the agreed production-image tagging policy.
  • Accepted release tags publish a matching production image tag.
  • Invalid or unrelated tags do not publish production images.
  • Publication runs only after all verification jobs pass.
  • The existing devel image remains supported.
  • No mutable latest tag is introduced without a separate explicit decision.
Current state The CI workflow runs only for pushes to `devel`. It: * builds and publishes the test image under the full commit SHA * runs independent lint and test jobs * publishes the production target as `code.kovula.com/viafier/viafier4:devel` after all checks pass No production images are currently published from `main` or release tags. Goal Define and implement the production-image publication policy for `main` and version tags before the first release. Scope * Decide whether pushes to `main` should publish: * a `main` tag * another development/stable tag * only a commit-specific production tag * Define the accepted release-tag format, likely `v<major>.<minor>.<patch>`. * Publish the production target only after all lint and test jobs succeed. * Preserve immutable commit-specific test image tags. * Publish release tags without introducing or moving `latest` unless explicitly approved. * Ensure tag builds use the exact tagged commit. * Extend the registry cleanup policy so release tags are retained. * Keep publication policy in the viafier repository, not in `shared/workflows`. Acceptance criteria * Pushes to `main` follow the agreed production-image tagging policy. * Accepted release tags publish a matching production image tag. * Invalid or unrelated tags do not publish production images. * Publication runs only after all verification jobs pass. * The existing `devel` image remains supported. * No mutable `latest` tag is introduced without a separate explicit decision.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
viafier/viafier4#12
No description provided.