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
lilydoar added a commit that referenced this pull request May 29, 2026
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
@lilydoar lilydoar force-pushed the lilydoar/stack/19 branch from 313f8e9 to fa3ec3a Compare May 29, 2026 21:13
@lilydoar lilydoar force-pushed the lilydoar/stack/20 branch from a08a256 to 942d9a9 Compare May 29, 2026 21:13
@lilydoar lilydoar marked this pull request as draft June 1, 2026 18:45
@lilydoar lilydoar changed the base branch from lilydoar/stack/19 to main June 1, 2026 18:45
@lilydoar lilydoar changed the base branch from main to lilydoar/stack/19 June 1, 2026 18:46
@lilydoar lilydoar marked this pull request as ready for review June 1, 2026 18:46
@lilydoar lilydoar marked this pull request as draft June 3, 2026 19:32
@lilydoar lilydoar changed the base branch from lilydoar/stack/19 to main June 3, 2026 19:32
lilydoar added a commit that referenced this pull request Jun 3, 2026
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
@lilydoar lilydoar force-pushed the lilydoar/stack/20 branch from 942d9a9 to bd5391e Compare June 3, 2026 19:32
@lilydoar lilydoar changed the base branch from main to lilydoar/stack/19 June 3, 2026 19:32
@lilydoar lilydoar marked this pull request as ready for review June 3, 2026 19:32
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
@lilydoar lilydoar marked this pull request as draft June 3, 2026 21:08
@lilydoar lilydoar changed the base branch from lilydoar/stack/19 to main June 3, 2026 21:08
@lilydoar lilydoar force-pushed the lilydoar/stack/20 branch from bd5391e to 77826e3 Compare June 3, 2026 21:08
@lilydoar lilydoar changed the base branch from main to lilydoar/stack/19 June 3, 2026 21:13
@lilydoar lilydoar changed the base branch from lilydoar/stack/19 to main June 3, 2026 21:15
@lilydoar lilydoar changed the base branch from main to lilydoar/stack/19 June 3, 2026 21:15
@lilydoar lilydoar marked this pull request as ready for review June 3, 2026 21:18
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