Skip to content
This repository was archived by the owner on Mar 18, 2026. It is now read-only.

feat: add Docker publish pipeline with Release Please - #21

Merged
whoabuddy merged 6 commits into
mainfrom
quest/docker-publish
Feb 17, 2026
Merged

feat: add Docker publish pipeline with Release Please#21
whoabuddy merged 6 commits into
mainfrom
quest/docker-publish

Conversation

@whoabuddy

Copy link
Copy Markdown
Contributor

Summary

  • Add Release Please workflow (simple type) for automated semver tagging and changelog generation
  • Add Docker publish workflow for ghcr.io with multi-platform builds (amd64/arm64), GHA caching, 6-variant tag strategy, and SLSA build provenance attestation
  • Add Trivy vulnerability scanning (CRITICAL/HIGH) with SARIF upload to GitHub Security tab
  • Update vps-setup.sh and local-setup.sh to pull pre-built images instead of building locally
  • Add image: field to repo-root docker-compose.yml alongside build: for flexibility

Manual step required

Enable "Allow GitHub Actions to create and approve pull requests" in repo Settings > Actions > General > Workflow permissions (already done).

Test plan

  • CI passes (linting, shellcheck, setup sync tests)
  • After merge: verify docker-publish workflow triggers on push to main
  • After merge: verify release-please creates a release PR
  • Merge release PR → verify v1.0.0 tagged image appears on ghcr.io
  • Verify Trivy scan results appear in Security tab
  • Test vps-setup.sh pulls pre-built image instead of building

Closes #20

🤖 Generated with Claude Code

whoabuddy and others added 6 commits February 16, 2026 22:10
Adds googleapis/release-please-action@v4 with release-type: simple.
Simple release type manages CHANGELOG.md and git tags without
requiring package.json. Creates the v* tags consumed by the
upcoming Docker publish workflow.

Also adds .markdownlintignore to exclude the auto-generated
CHANGELOG.md from markdownlint CI checks.

Co-Authored-By: Claude <noreply@anthropic.com>
Builds and pushes multi-platform (linux/amd64, linux/arm64) Docker
image to ghcr.io on every push to main and on v* release tags.

Uses GHA layer caching for faster builds, docker/metadata-action for
tag strategy (branch, tag, latest, sha, semver), and
actions/attest-build-provenance for SLSA supply chain attestation.
No extra secrets needed — GITHUB_TOKEN authenticates to ghcr.io.

Co-Authored-By: Claude <noreply@anthropic.com>
Inserts a Trivy image scan step after the build and before attestation.
Results are uploaded as SARIF to the GitHub Security tab for CVE visibility.
Scan is non-blocking (continue-on-error: true) so image publishing is not
gated on scan findings. Filters to CRITICAL and HIGH severity only to
reduce noise, and ignores unfixed vulnerabilities.

Co-Authored-By: Claude <noreply@anthropic.com>
Remove the embedded entrypoint.sh and Dockerfile heredocs from vps-setup.sh
since the pre-built ghcr.io/aibtcdev/openclaw-aibtc image already contains
everything needed. Replace 'build: .' with 'image: ghcr.io/aibtcdev/openclaw-aibtc:latest'
in the generated docker-compose.yml and remove the 'docker compose build' step.

This simplifies setup for VPS users: docker compose up -d will pull the
pre-built image automatically without requiring a local build.

Co-Authored-By: Claude <noreply@anthropic.com>
Remove the embedded entrypoint.sh and Dockerfile heredocs from local-setup.sh
since the pre-built ghcr.io/aibtcdev/openclaw-aibtc image already contains
everything needed. Replace 'build: .' with 'image: ghcr.io/aibtcdev/openclaw-aibtc:latest'
in the generated docker-compose.yml and remove the 'docker compose build' step.

This simplifies setup for local (Docker Desktop) users: docker compose up -d
will pull the pre-built image automatically without requiring a local build.

Co-Authored-By: Claude <noreply@anthropic.com>
…mage

Add 'image: ghcr.io/aibtcdev/openclaw-aibtc:latest' to the repo-root
docker-compose.yml alongside the existing 'build:' section. This allows
developers to use 'docker compose build' for local development while also
naming the built image consistently with the published registry image.

Co-Authored-By: Claude <noreply@anthropic.com>
@whoabuddy
whoabuddy merged commit 7dfa3ce into main Feb 17, 2026
8 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

build and publish docker image

1 participant