Commit a213a9b
DockerBuild: tie Claude DayStamp mixing to Dockerfile content, not -Claude flag
The daily cache-busting DayStamp added in 1ced9ca was mixed into the
image hash only when -Claude was on the command line. That breaks the
two-step TeamCity pattern that shares a Claude Dockerfile between
PrepareImage (-BuildImage, no -Claude) and a main runner step
(-NoBuildImage -Claude): the two invocations compute different content
hashes, so docker run in the main step tries to pull a tag that was
never built or pushed and fails with an ACR "unauthorized" HEAD.
Observed on Metalama_Metalama20261_MetalamaConsolidated_Claude #643 —
Step 3 built build-396451cf73a3fde5, Step 4 looked for
build-dcaec122766f2bab. Pre-1ced9ca builds of the same config produced
identical hashes across both steps.
Key the DayStamp decision off the Dockerfile body instead: if the file
contains "update.timestamp" (i.e. it uses the daily-invalidation layer
emitted by TimestampComponent), rotate the hash; otherwise don't. Both
steps read the same Dockerfile, so they now agree on the tag.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent f90b1ae commit a213a9b
2 files changed
Lines changed: 20 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
760 | 760 | | |
761 | 761 | | |
762 | 762 | | |
763 | | - | |
764 | | - | |
765 | | - | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
766 | 773 | | |
767 | 774 | | |
768 | 775 | | |
| |||
Lines changed: 10 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
760 | 760 | | |
761 | 761 | | |
762 | 762 | | |
763 | | - | |
764 | | - | |
765 | | - | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
766 | 773 | | |
767 | 774 | | |
768 | 775 | | |
| |||
0 commit comments