Skip to content

Move deploy after manifest creation for multi-arch releases#57

Open
manz wants to merge 1 commit intomasterfrom
fix/deploy-merged-pr-does-not-support-multiarch
Open

Move deploy after manifest creation for multi-arch releases#57
manz wants to merge 1 commit intomasterfrom
fix/deploy-merged-pr-does-not-support-multiarch

Conversation

@manz
Copy link
Member

@manz manz commented Feb 10, 2026

Issue

Part of the multi-arch deploy fix across bender and Woosmap/.github.
Related: https://github.com/Woosmap/bender/pull/260

Describe your changes

In sonar_docker_deployer.yml, the inline "Deploy Develop" step ran on the amd64 runner before multi-arch manifests existed. This meant Leela deployed a single-arch image.

This PR:

  • Gates the inline deploy with if: matrix.arch == 'amd64' && !inputs.multi_arch so it only runs for single-arch builds
  • Adds a deploy_develop job that depends on create_release_manifest, so multi-arch deploys only happen after all manifests (vX.Y.Z, vX.Y, vX) are stitched

This follows the same pattern already used in sonar_python_bender_build.yml for PR deploys.

How to test

Prerequisites

  1. Merge and release bender (https://github.com/Woosmap/bender/pull/260) — publishes the version with arch suffix support to Gemfury

Validation on a real repo (e.g. maps)

Since this is a reusable workflow (workflow_call), caller repos reference it via @master. To test before merging, the caller must temporarily point at this PR's branch.

  1. On a maps PR branch, update the deploy caller workflow to point at this branch and enable multi-arch:

    on:
      push:
        branches: [main]
      # Temporary: allows manual trigger from the PR branch
      workflow_dispatch:
    
    jobs:
      deploy:
        # Point at this PR's branch instead of @master
        uses: Woosmap/.github/.github/workflows/sonar_docker_deployer.yml@fix/deploy-merged-pr-does-not-support-multiarch
        with:
          multi_arch: true
        secrets: inherit
  2. Push the maps PR branch

  3. Go to GitHub Actions > select the deploy workflow > "Run workflow" > select the maps PR branch

  4. Verify the workflow run:

    • Both amd64 and arm64 deploy_actions jobs run in parallel
    • The inline "Deploy Develop" step is skipped on both runners
    • create_release_manifest job runs after both arch builds complete
    • deploy_develop job runs after manifest creation
    • ECR tags vX.Y.Z, vX.Y, vX are all multi-arch manifests (verify with docker manifest inspect)

Cleanup after test

This triggers a phony release from a PR branch, so clean up afterwards:

  1. Delete the phony ECR tags created by the test run (vX.Y.Z-amd64, vX.Y.Z-arm64, vX.Y.Z, vX.Y, vX)
  2. Re-deploy the previous legitimate version via Leela to restore the correct state
  3. Revert the maps caller workflow changes (remove workflow_dispatch, restore @master, remove multi_arch: true) before merging the maps PR

Single-arch regression check

  • Verify a repo with multi_arch: false (or unset) still deploys inline as before — the deploy_develop and create_release_manifest jobs should not appear

Checklist:

  • My code follows the style guidelines for this repo
  • I have performed a self-review of my code
  • My changes generate no new warnings/errors
  • I don't require ops changes for this PR to go to prod

…est creation for multi-arch.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@manz manz requested a review from a team as a code owner February 10, 2026 12:32
@manz manz added the bug This issues is a bug label Feb 10, 2026
@manz
Copy link
Member Author

manz commented Feb 10, 2026

Test PR to validate the full multi-arch deploy flow: https://github.com/Woosmap/maps/pull/492

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug This issues is a bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants