Skip to content

ci(release-server): wire openapi build context for dashboard stage#27

Closed
dvcdsys wants to merge 1 commit intomainfrom
ci/openapi-build-context
Closed

ci(release-server): wire openapi build context for dashboard stage#27
dvcdsys wants to merge 1 commit intomainfrom
ci/openapi-build-context

Conversation

@dvcdsys
Copy link
Copy Markdown
Owner

@dvcdsys dvcdsys commented May 4, 2026

Summary

Both server/Dockerfile and server/Dockerfile.cuda have COPY --from=openapi openapi.yaml /spec/openapi.yaml in their dashboard build stage (added when the dashboard started consuming the OpenAPI spec for type generation). The release workflow's docker/build-push-action calls were missing the corresponding build-contexts: openapi=doc parameter, so the next `server/v*` tag push (or workflow_dispatch) would fail at the dashboard stage with stage openapi not found.

make docker-build-cuda-dev works because it passes --build-context openapi=$(ROOT)/../doc directly. This brings CI to parity.

Must merge BEFORE `server/v0.5.0` tag — otherwise the release CI run will fail.

Verification

Verified end-to-end via workflow_dispatch test run #25315845271:

Job Result
Build CPU image (multi-arch) ✅ success
Build CUDA image (amd64) ✅ success
Publish release skipped (correctly — gated to `event_name == 'push'`)

Pushed test images to Docker Hub at `dvcdsys/code-index:ci-test-openapi` (CPU) and `:ci-test-openapi-cu128` — production tags `:latest` / `:cu128` were not touched (`update_floating_tags=false`).

Test plan

  • CPU job builds and pushes successfully
  • CUDA job builds and pushes successfully
  • Production floating tags untouched
  • Reviewer can delete `:ci-test-openapi*` tags from Docker Hub at leisure

🤖 Generated with Claude Code

Both Dockerfile and Dockerfile.cuda have `COPY --from=openapi
openapi.yaml /spec/openapi.yaml` in the dashboard build stage (added
when the dashboard started consuming the OpenAPI spec for type
generation). The release workflow's docker/build-push-action calls were
missing the corresponding `build-contexts: openapi=doc` parameter, so
the next `server/v*` tag push (or workflow_dispatch) would fail at the
dashboard stage with "stage openapi not found".

`make docker-build-cuda-dev` works because it passes
`--build-context openapi=$(ROOT)/../doc` directly. This brings CI to
parity.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@dvcdsys
Copy link
Copy Markdown
Owner Author

dvcdsys commented May 4, 2026

Superseded by #28 — the workflow fix logically belongs with the dashboard work that introduced the dependency on openapi=doc build context (the COPY --from=openapi line in Dockerfile.cuda was added when the dashboard build stage landed). Cherry-picked as commit c9d0ceb on dashboard and verified end-to-end via the earlier workflow_dispatch test run #25315845271. Closing this branch — single PR is cleaner for release ordering.

@dvcdsys dvcdsys closed this May 4, 2026
@dvcdsys dvcdsys deleted the ci/openapi-build-context branch May 4, 2026 14:23
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