Skip to content

Publish as countly-drill-migrator and build main without cutting a release - #9

Open
Hakandede wants to merge 1 commit into
mainfrom
ci/drill-migrator-image
Open

Publish as countly-drill-migrator and build main without cutting a release#9
Hakandede wants to merge 1 commit into
mainfrom
ci/drill-migrator-image

Conversation

@Hakandede

Copy link
Copy Markdown
Member

Two problems

1. The image name is shared with the previous service. Docker Hub countly/countly-migration holds the Redis-based migration service, tags 1.0.0 through 1.9.3 (April 2026), and this repo's releases run to 1.9.3 to match. Publishing the ledger service under that name would put two different services in one tag series, make latest depend on release order, and — concretely — the Helm chart's default (appVersion: 1.0.0) resolves to countly/countly-migration:1.0.0, which is an old Redis-era build. A deploy from chart defaults would quietly run the wrong service rather than failing.

2. The only trigger was a published release. So the only way to obtain any image at all was to cut a public release. The ledger merge to main produced nothing, and testing so far has depended on hand-built images.

Changes

  • IMAGE_NAME${{ secrets.DOCKERHUB_USERNAME }}/countly-drill-migrator. Own name, own tag series, starting clean at whatever release you publish first. The old image stays untouched for anyone still on the old method.
  • Added push: branches: [main] and workflow_dispatch, with type=sha,prefix=main- so those runs publish main-<sha>. Releases keep producing {{version}} / {{major}}.{{minor}} / {{major}} exactly as before.
  • paths-ignore for **.md, docs/** and k8s/**, so documentation pushes don't rebuild.
  • A step summary listing the tags that were pushed.

No change to the Dockerfile, the build context, the platform (linux/amd64) or the GHA cache.

After merging

A main-<sha> image appears on the next push to main (or immediately via Run workflow), which is what the Helm chart can be pointed at for end-to-end verification — including LEDGER_START_PAUSED, which no published image contains yet.

The matching chart-side change (image.repositorycountly-drill-migrator) goes on Countly/helm#92.

Note the Docker Hub account behind DOCKERHUB_USERNAME needs to allow creating a new repository, or the first push fails on a missing repo.

Two problems with the previous workflow.

The image name was shared with the previous, Redis-based migration service,
whose tags run up to 1.9.x on Docker Hub. Publishing this service there would
mix two different services in one tag series, make latest depend on release
order, and let a chart default resolve to an old build. It now publishes as
countly-drill-migrator, with its own tag series.

The only trigger was a published release, so the sole way to obtain any image
was to cut a public one. Pushes to main and manual runs now publish a
main-<sha> tag as well, which is enough to test with; releases keep producing
clean semver tags. Doc-only and k8s-only pushes are skipped.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant