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

astronomer / astro-cli / 39077154563
45%

Build:
DEFAULT BRANCH: main
Ran 17 Oct 2026 10:59PM UTC
Jobs 1
Files 218
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 10:57PM UTC coverage: 45.239% (+0.03%) from 45.205%
39077154563

push

github

web-flow
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

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* 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... (continued)

38 of 40 new or added lines in 3 files covered. (95.0%)

27378 of 60519 relevant lines covered (45.24%)

9.97 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
81.06
0.07% cloud/deploy/deploy.go
Jobs
ID Job ID Ran Files Coverage
1 39077154563.1 17 Oct 2026 10:59PM UTC 218
45.24
GitHub Action Run
Source Files on build 39077154563
  • Tree
  • List 218
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39077154563
  • 9c94008c on github
  • Prev Build on main (#39068171925)
  • Next Build on main (#39078688035)
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