Skip to content

Modernize release pipeline and build multiarch images#1292

Merged
HappyTetrahedron merged 2 commits into
masterfrom
release-pipeline-update
Feb 19, 2026
Merged

Modernize release pipeline and build multiarch images#1292
HappyTetrahedron merged 2 commits into
masterfrom
release-pipeline-update

Conversation

@HappyTetrahedron
Copy link
Copy Markdown
Contributor

Checklist

  • Keep pull requests small so they can be easily reviewed.
  • Categorize the PR by setting a good title and adding one of the labels:
    bug, enhancement, documentation, change, breaking, dependency, internal
    as they show up in the changelog

@HappyTetrahedron HappyTetrahedron requested a review from a team as a code owner February 18, 2026 13:29
@HappyTetrahedron HappyTetrahedron added the enhancement New feature or request label Feb 18, 2026
@HappyTetrahedron HappyTetrahedron marked this pull request as draft February 18, 2026 13:29
Comment thread .github/workflows/push.yml
Comment thread .github/workflows/push.yml Outdated
@HappyTetrahedron HappyTetrahedron force-pushed the release-pipeline-update branch 5 times, most recently from 9c92dd8 to 9f4faf8 Compare February 18, 2026 15:48
@HappyTetrahedron
Copy link
Copy Markdown
Contributor Author

Unfortunately I think matrix strategy is not viable here, since buildx expects the entire multiarch image to be built in a single invocation (otherwise we'd have to do separate images) - unless there's some advanced stuff I'm not aware of, but I haven't found anything online.

@HappyTetrahedron
Copy link
Copy Markdown
Contributor Author

Tested locally with:

commodore() {
  local pubring="${HOME}/.gnupg/pubring.kbx"
  if command -v gpgconf &>/dev/null && test -f "${pubring}"; then
    gpg_opts=(--volume "${pubring}:/app/.gnupg/pubring.kbx:ro" --volume "$(gpgconf --list-dir agent-extra-socket):/app/.gnupg/S.gpg-agent:ro")
  else
    gpg_opts=
  fi

  docker run \
    --interactive=true \
    --tty \
    --rm \
    --user="$(id -u)" \
    --env COMMODORE_API_URL=$COMMODORE_API_URL \
    --env COMMODORE_API_TOKEN=$COMMODORE_API_TOKEN \
    --env SSH_AUTH_SOCK=/tmp/ssh_agent.sock \
    --publish 18000:18000 \
    --volume "${SSH_AUTH_SOCK}:/tmp/ssh_agent.sock" \
    --volume "${HOME}/.ssh/config:/app/.ssh/config:ro" \
    --volume "${HOME}/.ssh/known_hosts:/app/.ssh/known_hosts:ro" \
    --volume "${HOME}/.gitconfig:/app/.gitconfig:ro" \
    --volume "${HOME}/.cache:/app/.cache" \
    ${gpg_opts[@]} \
    --volume "${PWD}:${PWD}" \
    --workdir "${PWD}" \
    ghcr.io/projectsyn/commodore:release-pipeline-update \
    $*
}
  • works fine for me on amd64, to nobody's surprise

@HappyTetrahedron HappyTetrahedron marked this pull request as ready for review February 18, 2026 16:38
@HappyTetrahedron
Copy link
Copy Markdown
Contributor Author

LMK if you'd prefer having autorelease on a separate PR

@simu
Copy link
Copy Markdown
Member

simu commented Feb 19, 2026

LMK if you'd prefer having autorelease on a separate PR

I prefer not having autorelease at all for Commodore. Commodore has its own release process where release summaries are written manually as annotated tags.

Comment thread .github/workflows/push.yml Outdated
Comment thread .github/workflows/test.yml
Also, run container image on PR builds to check that it isn't obviously
broken.
@projectsyn projectsyn deleted a comment from github-actions Bot Feb 19, 2026
@HappyTetrahedron HappyTetrahedron merged commit 2a35c66 into master Feb 19, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants