Skip to content

Publish ci-local-bench to GHCR (container + screenshot test)#17

Merged
mrhegemon merged 1 commit into
mainfrom
feat/ghcr-publish
Jun 7, 2026
Merged

Publish ci-local-bench to GHCR (container + screenshot test)#17
mrhegemon merged 1 commit into
mainfrom
feat/ghcr-publish

Conversation

@mrhegemon

Copy link
Copy Markdown
Member

Publish ci-local-bench to GHCR for the CI marketplace

The marketplace lists ghcr.io/companionintelligence/ci-local-bench:latest, but this repo never built or pushed that image — so the store listing 404s and the app cannot install on appliance Hubs. This PR adds the missing publish pipeline.

What is in this PR

  • .github/workflows/docker-publish.yml — on push to main (and tags) builds the image, runs a screenshot test gate, then pushes :latest + :sha-<short> to GHCR. PRs run build + gate without publishing.
  • Container build + a self-contained tests/container/ Playwright screenshot harness.

Required one-time step after merge

GitHub creates Actions-published GHCR packages private. After the first publish an org owner must flip visibility to Public once (persists thereafter):
https://github.com/orgs/companionintelligence/packages/container/ci-local-bench/settings -> Danger Zone -> Change visibility -> Public. Until then the image exists but anonymous appliance pulls get 403.

🤖 Generated with Claude Code

Publish as ghcr.io/companionintelligence/ci-local-bench so the CI marketplace
listing resolves. The publish workflow builds the image, screenshots its web UI
on the Hub internalPort (3000) as a gate, then pushes :latest + :sha-<short> to
GHCR.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: be54073e9e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u "${{ github.repository_owner }}" --password-stdin

- name: Build and push
if: github.event_name != 'pull_request'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restrict image publishing to main refs

Because workflow_dispatch is enabled above, this github.event_name != 'pull_request' guard also publishes when someone manually runs the workflow from an arbitrary branch; the tag computation always includes :latest, so an unmerged branch run can overwrite the marketplace-pinned image. Gate the push steps to refs/heads/main and/or refs/tags/* so only reviewed refs publish.

Useful? React with 👍 / 👎.

@mrhegemon mrhegemon merged commit c29532a into main Jun 7, 2026
1 check passed
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