Skip to content

Add OCI standard label to worker image; drop "v" prefix - #1604

Draft
taylordowns2000 wants to merge 4 commits into
mainfrom
add-label-to-image
Draft

taylordowns2000 wants to merge 4 commits into
mainfrom
add-label-to-image

Conversation

@taylordowns2000

@taylordowns2000 taylordowns2000 commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

Worker images are now tagged without the v prefix (openfn/ws-worker:1.31.0, not v1.31.0), to match Lightning images after https://github.com/OpenFn/deployment/pull/560. Each image also gets the standard OCI labels, including org.opencontainers.image.version, which the Lightning update check in OpenFn/lightning#5265 reads.

Changes

  • No v in image tags. The Docker tag, and the check for whether that tag is already on Docker Hub, use the version without the v.
  • Builds from the worker tag on the commit being built. Before, the workflow took the newest worker tag in the repo and built whatever main was. It now uses the @openfn/ws-worker@X.Y.Z tag on the commit being built, and skips the build when there isn't one. This works when the workflow is triggered by a tag push and when it's called from publish.yaml, where github.ref is main, not the tag. It also stops the first run after this PR from rebuilding main as 1.30.0, since only v1.30.0 exists on Docker Hub. The old @openfn/ws-worker@v0.0.* test tags are ignored.
  • Standard labels. docker/metadata-action generates the tags and the OCI labels: version, revision, source, created, and so on.
  • latest only moves for full releases. Prereleases no longer overwrite it. Before, every build pushed latest: 1.20.0-rc1 was latest for about two hours on 2025-12-10, and earlier RCs look to have held it for longer (1.9.0-rc1 for about nine days in January 2025).

Heads up

From the next worker release, image tags have no v. Existing vX.Y.Z tags stay on Docker Hub and keep working, and git tags and npm versions don't change. Anyone bumping image pins, by hand or with Renovate, Dependabot, Flux or Argo, needs to use the new format; some tools treat the prefix as part of the tag format and will stop offering updates without an error.

Testing

dockerize.yaml has no pull_request trigger, so CI can't run it here. The tag lookup was checked against a local scratch repo: an untagged commit skips the build, the old v0.0.* tags are ignored, and checking out a release tag finds it.

After merging:

  1. The dockerize job in that merge's publish run should log "No ws-worker release tag on this commit, skipping build".
  2. After the next worker release, Docker Hub should show X.Y.Z with no v, latest should point at it, and the label should match:
   docker pull openfn/ws-worker:X.Y.Z
   docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' openfn/ws-worker:X.Y.Z

No changeset: this only changes the workflow, not a published package.

AI Usage

Please disclose whether you've used AI anywhere in this PR (it's cool, we just
want to know!):

  • I have used Claude Code
  • I have used another model
  • I have not used AI

You can read more details in our
Responsible AI Policy

@github-project-automation github-project-automation Bot moved this to New Issues in Core Oct 29, 2026
@taylordowns2000
taylordowns2000 marked this pull request as draft October 29, 2026 16:52
taylordowns2000 and others added 2 commits October 29, 2026 18:41
metadata-action's default latest=auto skips pre-release tags, so an rc
build no longer moves latest. Lightning reads latest's version label to
find the newest worker release and reports nothing when that label is a
pre-release.

Also ignore the junk @openfn/ws-worker@v0.0.* tags when looking for the
tag on HEAD, since their v fails the version check.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q7ZyHRBAuQApTjnkyVvcCn
@taylordowns2000 taylordowns2000 changed the title add standard label to image add standard labels to images Oct 30, 2026
When publish.yaml calls this workflow, github.event_name is the caller's
`push` and github.ref_name is `main`, so the push branch read `main` as the
tag and failed the version check on every merge. The tag on HEAD covers
both cases: a pushed tag checks out the tagged commit, and the publish run
builds the commit `changeset tag` just tagged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q7ZyHPsP464w6oqJZcGSRg
@taylordowns2000 taylordowns2000 changed the title add standard labels to images Add OCI standard labels to images Oct 31, 2026
@taylordowns2000 taylordowns2000 changed the title Add OCI standard labels to images Add OCI standard labels to worker image; drop "v" prefix Oct 31, 2026
@taylordowns2000 taylordowns2000 changed the title Add OCI standard labels to worker image; drop "v" prefix Add OCI standard label to worker image; drop "v" prefix Oct 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New Issues

Development

Successfully merging this pull request may close these issues.

2 participants