Skip to content

fix(ci): build Docker image from local source; add test-dispatch#136

Merged
georgeh0 merged 1 commit intomainfrom
g/docker-release-fix
Apr 14, 2026
Merged

fix(ci): build Docker image from local source; add test-dispatch#136
georgeh0 merged 1 commit intomainfrom
g/docker-release-fix

Conversation

@georgeh0
Copy link
Copy Markdown
Member

Follow-up to #135. The Docker publish step failed on the v0.2.24 release (https://github.com/cocoindex-io/cocoindex-code/actions/runs/24421462667/job/71344624894) — the build pulled cocoindex-code[default] from PyPI right after the PyPI publish completed, before the new wheel had propagated to PyPI's CDN, so the resulting install was missing the ccc entry point added in this release.

Summary

  • Install cocoindex-code from the checked-out source tree via CCC_INSTALL_SPEC=/ccc-src[default] (same build-arg the local E2E tests use). Image matches the tagged commit byte-for-byte; no PyPI race.
  • Drop needs: publish-to-pypi — with the local-source install we no longer depend on PyPI being up-to-date first. Docker publish can now run in parallel with PyPI publish.
  • Add a test_docker workflow_dispatch input so credentials (Docker Hub + GHCR) can be verified without cutting a release. Dispatch pushes :test only; real releases still push :latest + :<version>.

Test plan

  • Manual dispatch with test_docker=true once this lands — confirms both registry logins work and the build succeeds against the merged main. The resulting :test tag won't interfere with real releases.
  • Next real release should then publish cleanly to both Docker Hub and GHCR.

🤖 Generated with Claude Code

- Install cocoindex-code from the checked-out source tree (same build-arg
  used by local E2E tests) instead of pulling from PyPI. Avoids a race
  where the just-published wheel hadn't propagated to PyPI's CDN when
  publish-docker started, and ensures the image matches the tagged
  commit byte-for-byte.
- Add a `test_docker` workflow_dispatch input so registry credentials
  (Docker Hub + GHCR) can be verified before the next release without
  having to cut one. Dispatch pushes `:test` only; release pushes
  `:latest` + `:<version>`.
- Drop the needs: publish-to-pypi dependency — with local-source install
  we no longer need PyPI to be up-to-date first.
@georgeh0 georgeh0 merged commit 4b98490 into main Apr 14, 2026
8 of 9 checks passed
@georgeh0 georgeh0 deleted the g/docker-release-fix branch April 14, 2026 20:51
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