fix(ci): restore registry host and define REGISTRY_OWNER in OCI build #51

Merged
nrupard merged 1 commit from fix/oci-build-registry-owner-env into main 2026-06-08 00:56:11 +02:00
Owner

Problem

build-oci-image.yml failed on push to main (run #128) at the "Set environment variables" Nushell step with Cannot find column REGISTRY_OWNER. The step ran let owner = $env.REGISTRY_OWNER, but the job env: block never defined REGISTRY_OWNER. It exposed REGISTRY_PROVIDER, REGISTRY_USER, and REGISTRY_PASSWORD only.

A second latent bug rode along: commit 4a2e51c had repointed REGISTRY_PROVIDER from the registry host (dev.a8n.run) to vars.A8N_TOOLS_PRIVATE_PACKAGE_OWNER. So even if REGISTRY_OWNER had been defined, IMAGE_REGISTRY would have resolved to a8n-tools/a8n-tools and docker login would have targeted a8n-tools instead of the registry host.

Fix

Restore REGISTRY_PROVIDER to the dev.a8n.run registry host and add REGISTRY_OWNER sourced from vars.A8N_TOOLS_PRIVATE_PACKAGE_OWNER. The org-scoped PAT (secrets.A8N_TOOLS_PRIVATE_PACKAGE_PAT) introduced in 4a2e51c is kept.

Resulting resolution: owner = a8n-tools, IMAGE_REGISTRY = dev.a8n.run/a8n-tools, docker login targets dev.a8n.run, images push to dev.a8n.run/a8n-tools/rusty-links:<tag>.

Notes

  • A8N_TOOLS_PRIVATE_PACKAGE_OWNER is an org-level variable; repo-level variables are empty. Its value is the package owner (a8n-tools) per its name and the run URL.
  • Closes LINKS-12.
## Problem `build-oci-image.yml` failed on push to `main` (run #128) at the "Set environment variables" Nushell step with `Cannot find column REGISTRY_OWNER`. The step ran `let owner = $env.REGISTRY_OWNER`, but the job `env:` block never defined `REGISTRY_OWNER`. It exposed `REGISTRY_PROVIDER`, `REGISTRY_USER`, and `REGISTRY_PASSWORD` only. A second latent bug rode along: commit `4a2e51c` had repointed `REGISTRY_PROVIDER` from the registry host (`dev.a8n.run`) to `vars.A8N_TOOLS_PRIVATE_PACKAGE_OWNER`. So even if `REGISTRY_OWNER` had been defined, `IMAGE_REGISTRY` would have resolved to `a8n-tools/a8n-tools` and `docker login` would have targeted `a8n-tools` instead of the registry host. ## Fix Restore `REGISTRY_PROVIDER` to the `dev.a8n.run` registry host and add `REGISTRY_OWNER` sourced from `vars.A8N_TOOLS_PRIVATE_PACKAGE_OWNER`. The org-scoped PAT (`secrets.A8N_TOOLS_PRIVATE_PACKAGE_PAT`) introduced in `4a2e51c` is kept. Resulting resolution: `owner = a8n-tools`, `IMAGE_REGISTRY = dev.a8n.run/a8n-tools`, `docker login` targets `dev.a8n.run`, images push to `dev.a8n.run/a8n-tools/rusty-links:<tag>`. ## Notes - `A8N_TOOLS_PRIVATE_PACKAGE_OWNER` is an org-level variable; repo-level variables are empty. Its value is the package owner (`a8n-tools`) per its name and the run URL. - Closes LINKS-12.
fix(ci): restore registry host and define REGISTRY_OWNER in OCI build
All checks were successful
Check / clippy + fmt + tests (pull_request) Successful in 46s
Create release / Create release from merged PR (pull_request) Has been skipped
4fbd7c4e90
The build-oci-image workflow crashed on the "Set environment variables" Nushell step with 'Cannot find column REGISTRY_OWNER': the env block referenced $env.REGISTRY_OWNER but never set it, and REGISTRY_PROVIDER had been repointed from the registry host (dev.a8n.run) to the owner var, so even after defining the owner the image ref and docker login target would have been wrong.

Restore REGISTRY_PROVIDER to the dev.a8n.run registry host and add REGISTRY_OWNER sourced from vars.A8N_TOOLS_PRIVATE_PACKAGE_OWNER, keeping the org-scoped PAT. IMAGE_REGISTRY now resolves to dev.a8n.run/a8n-tools and docker login targets dev.a8n.run.

#LINKS-12

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
nrupard deleted branch fix/oci-build-registry-owner-env 2026-06-08 00:56:11 +02:00
Sign in to join this conversation.
No reviewers
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
a8n-tools/rusty-links!51
No description provided.