Push separate :base and :build tags from ruby-arch pipeline #368

Open
opened 2026-05-10 19:10:07 +00:00 by ldraney · 0 comments
Owner

Type

Bug

Context

Discovered during T4 validation (validation-18-2026-05-10). The ruby-arch Woodpecker pipeline only pushes :latest, which Kaniko builds as the last Dockerfile stage (build). This means:

  • :latest = build stage (includes base-devel, git, pkgconf — ~100MB of compilers)
  • No :base tag exists for the runtime-only stage

Downstream Dockerfiles (pal-enterprises) must use :latest for both their base and build stages, resulting in bloated runtime images that include unnecessary compilers.

Proposed Fix

Split the Kaniko step into two:

  1. --target=base, push as :base (and :latest for backwards compat)
  2. --target=build, push as :build

Or use two separate Kaniko steps in .woodpecker/ruby-arch.yaml.

Acceptance Criteria

  • harbor.tail5b443a.ts.net/pal-e/ruby-arch:base exists and does NOT include base-devel
  • harbor.tail5b443a.ts.net/pal-e/ruby-arch:build exists and includes base-devel
  • :latest points to :base (runtime image should be the default)
  • Update pal-enterprises Dockerfile to use :base and :build explicitly
### Type Bug ### Context Discovered during T4 validation (`validation-18-2026-05-10`). The ruby-arch Woodpecker pipeline only pushes `:latest`, which Kaniko builds as the last Dockerfile stage (`build`). This means: - `:latest` = build stage (includes base-devel, git, pkgconf — ~100MB of compilers) - No `:base` tag exists for the runtime-only stage Downstream Dockerfiles (pal-enterprises) must use `:latest` for both their base and build stages, resulting in bloated runtime images that include unnecessary compilers. ### Proposed Fix Split the Kaniko step into two: 1. `--target=base`, push as `:base` (and `:latest` for backwards compat) 2. `--target=build`, push as `:build` Or use two separate Kaniko steps in `.woodpecker/ruby-arch.yaml`. ### Acceptance Criteria - [ ] `harbor.tail5b443a.ts.net/pal-e/ruby-arch:base` exists and does NOT include base-devel - [ ] `harbor.tail5b443a.ts.net/pal-e/ruby-arch:build` exists and includes base-devel - [ ] `:latest` points to `:base` (runtime image should be the default) - [ ] Update pal-enterprises Dockerfile to use `:base` and `:build` explicitly
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/pal-e-platform#368
No description provided.