Skip to content

Normalize the CLI-build block across all Dockerfiles#388

Open
lilydoar wants to merge 1 commit into
lilydoar/stack/19from
lilydoar/stack/20
Open

Normalize the CLI-build block across all Dockerfiles#388
lilydoar wants to merge 1 commit into
lilydoar/stack/19from
lilydoar/stack/20

Conversation

@lilydoar
Copy link
Copy Markdown
Contributor

@lilydoar lilydoar commented May 29, 2026

Stacked PRs:


Normalize the CLI-build block across all Dockerfiles

All seven Dockerfiles build the omes CLI with the same set of inputs, but the
duplicated block had drifted: java had metrics/scenarios in a different order,
dotnet folded an unrelated workers/proto/harness copy into it, typescript
appended versions.env, and the build invoked go via different paths
(go vs /usr/local/go/bin/go). That divergence is what let the earlier COPY-set
regression hide.

Unify them on one byte-identical block (the cached go-mod-download pattern):

  • ensure go is on PATH in every image so the build line is identical
  • move per-language extras out of the shared block into each file's
    language-specific section (cli: workers/proto for kitchen-sink-gen;
    typescript: versions.env; dotnet: workers/proto/harness)

The shared block is now identical across all seven (verified by hash). Built
cli, go, and ruby images with podman to cover both base-image patterns
(golang-native and go-installed-on-PATH).

@lilydoar lilydoar requested review from a team as code owners May 29, 2026 21:13
All seven Dockerfiles build the omes CLI with the same set of inputs, but the
duplicated block had drifted: java had metrics/scenarios in a different order,
dotnet folded an unrelated workers/proto/harness copy into it, typescript
appended versions.env, and the build invoked go via different paths
(go vs /usr/local/go/bin/go). That divergence is what let the earlier COPY-set
regression hide.

Unify them on one byte-identical block (the cached go-mod-download pattern):
- ensure go is on PATH in every image so the build line is identical
- move per-language extras out of the shared block into each file's
  language-specific section (cli: workers/proto for kitchen-sink-gen;
  typescript: versions.env; dotnet: workers/proto/harness)

The shared block is now identical across all seven (verified by hash). Built
cli, go, and ruby images with podman to cover both base-image patterns
(golang-native and go-installed-on-PATH).

stack-info: PR: #388, branch: lilydoar/stack/20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant