Skip to content

ci(docker): publish multi-arch image to Docker Hub and document v0.5 migration - #244

Open
goniszewski wants to merge 1 commit into
developfrom
feat/docker-publish-217
Open

goniszewski wants to merge 1 commit into
developfrom
feat/docker-publish-217

Conversation

@goniszewski

Copy link
Copy Markdown
Owner

Part of #217 (does not close it).

  • docker-publish.yml: on vX.Y.Z tags builds linux/amd64 + linux/arm64, pushes X.Y.Z and X.Y with OCI labels, provenance and SBOM. latest is never moved automatically; only via manual dispatch with promote_latest.
  • docker-compose.yml: pulls goniszewski/grimoire:${GRIMOIRE_VERSION:-1.3.1}; build: retained.
  • docs/docker-deployment.md: tag policy and v0.5 -> 1.x migration (/app/data -> /data) using the existing inspect / dry-run / apply workflow.

Not done / needs maintainer

  • Add DOCKERHUB_USERNAME / DOCKERHUB_TOKEN repo secrets.
  • Retag current v0.5 digest as legacy-v0.5 on Docker Hub before any latest move.
  • Compose default 1.3.1 doesn't exist on Docker Hub until the workflow runs for that tag.
  • Clean-pull smoke tests on both archs, and verify the migration docs end to end (CLI-from-host path is untested).
  • Workflow itself is untested.

Copilot AI balanced review requested due to automatic review settings November 9, 2026 17:42

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-09T17:43:24.460054Z e7e2b98 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@sonarqubecloud

sonarqubecloud Bot commented Nov 9, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

with:
ref: ${{ github.event_name == 'workflow_dispatch' && inputs.ref || github.ref }}

- uses: docker/setup-qemu-action@v3
ref: ${{ github.event_name == 'workflow_dispatch' && inputs.ref || github.ref }}

- uses: docker/setup-qemu-action@v3
- uses: docker/setup-buildx-action@v3
- uses: docker/setup-buildx-action@v3

- name: Log in to Docker Hub
uses: docker/login-action@v3

- name: Compute tags and labels
id: meta
uses: docker/metadata-action@v5
type=raw,value=latest,enable=${{ github.event_name == 'workflow_dispatch' && inputs.promote_latest }}

- name: Build and push
uses: docker/build-push-action@v6

@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: e7e2b98f62

ℹ️ 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".

Comment thread docs/docker-deployment.md
Comment on lines +254 to +256
grimoire migrate inspect --archive grimoire-v05-data.tar.gz
grimoire migrate apply --archive grimoire-v05-data.tar.gz --owner YOUR_USERNAME --dry-run
grimoire migrate apply --archive grimoire-v05-data.tar.gz --owner YOUR_USERNAME --yes

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 Make the backup archive accessible inside the container

Following this migration procedure leaves the archive on the host, but the container only mounts grimoire-data:/data. The host CLI does not upload the archive: daemon/src/cli.ts resolves --archive to an absolute host path and sends that path as JSON, while daemon/src/migrate/legacy-paths.ts requires the file to exist in the daemon's filesystem. Consequently, inspect and apply fail with archivePath not found in the documented Docker setup. The CLI help confirms the interface is migrate inspect --archive <data.zip|tar.gz|…>, not an upload command. Add steps to copy or mount the backup into the container and invoke migration with a container-visible path, for example by running the CLI inside the container.

Useful? React with 👍 / 👎.

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.

3 participants