• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

astronomer / astro-cli / 39077754538
61%
main: 45%

Build:
Build:
LAST BUILD BRANCH: apc-align-astro-2413
DEFAULT BRANCH: main
Ran 17 Oct 2026 11:12PM UTC
Jobs 1
Files 336
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Oct 2026 11:06PM UTC coverage: 60.046% (+0.02%) from 60.024%
39077754538

push

github

web-flow
Merge main into v2 (#2339)

Reject embedded image tags in remote.client_registry (#2224)

* Reject embedded image tags in remote.client_registry

astro remote deploy appends its own ":deploy-<timestamp>" tag to
whatever value is configured for remote.client_registry. If a user
sets that value to a full tagged image reference (e.g. copy-pasted
from a Dockerfile FROM line), the CLI produces a double-tagged
reference like "registry/repo/image:1.0:deploy-2026-07-22T16:23",
which Docker rejects with an opaque "invalid reference format" error.

ValidateRegistryEndpoint now rejects any value whose repository path
(the portion after the first "/") contains a ":", while still
allowing a ":port" on the registry host itself.

Fixes #2223



* Check the registry endpoint with Docker's grammar, and where it is used

From a code review of this PR:

- The check ran only when remote.client_registry was set, so a value
  saved with a tag before it existed, or written into config.yaml by
  hand (the customer's case in #2223), still reached Docker as
  "invalid reference format". astro remote deploy now checks the
  value before building, and astro dev init checks a saved value
  before saving it into the project, each saying how to fix it.
- The check looked for a ':' after the first '/', which let through an
  uppercase name, a '@' with no digest and a port that is not a
  number, and called a digest a tag. It now parses the endpoint with
  github.com/distribution/reference, Docker's own grammar, which the
  CLI already uses: a tag and a digest are each refused with their own
  message, and anything else Docker would reject is refused with
  Docker's reason.
- The DeployClientImage tests set the registry to test-registry:latest,
  no repository and a tag, and one asserted the double-tagged
  reference this PR exists to prevent; they use a real repository now.

Tests: tags with and without a port, a digest, uppercase, a '@' with no
digest and a non-numeric port, each w... (continued)

29 of 31 new or added lines in 2 files covered. (93.55%)

40378 of 67245 relevant lines covered (60.05%)

292.74 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
86.45
0.13% internal/platform/astro/deploy/deploy.go
Jobs
ID Job ID Ran Files Coverage
1 39077754538.1 17 Oct 2026 11:12PM UTC 336
60.05
GitHub Action Run
Source Files on build 39077754538
  • Tree
  • List 336
  • Changed 3
  • Source Changed 2
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39077754538
  • 4beda2d3 on github
  • Prev Build on v2 (#39076748628)
  • Next Build on v2 (#39077997385)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc