Skip to content

Commit 52ff433

Browse files
fix: lowercase image name + use QEMU for multi-arch build
GHCR requires lowercase image names. Use a hardcoded lowercase name instead of github.repository_owner. Switch from matrix runners to single-job QEMU for arm64 cross-compilation (avoids needing arm runners). Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 6623803 commit 52ff433

1 file changed

Lines changed: 11 additions & 36 deletions

File tree

.github/workflows/build-binary.yml

Lines changed: 11 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -10,29 +10,22 @@ on:
1010

1111
env:
1212
REGISTRY: ghcr.io
13-
IMAGE_NAME: ${{ github.repository_owner }}/callosum-dsl-parser
13+
IMAGE_NAME: griffincancode/callosum-dsl-parser
1414

1515
permissions:
1616
contents: read
1717
packages: write
1818

1919
jobs:
2020
build:
21-
strategy:
22-
matrix:
23-
include:
24-
- runner: ubuntu-latest
25-
platform: linux/amd64
26-
tag_suffix: amd64
27-
- runner: ubuntu-24.04-arm
28-
platform: linux/arm64
29-
tag_suffix: arm64
30-
31-
runs-on: ${{ matrix.runner }}
21+
runs-on: ubuntu-latest
3222

3323
steps:
3424
- uses: actions/checkout@v4
3525

26+
- name: Set up QEMU
27+
uses: docker/setup-qemu-action@v3
28+
3629
- name: Set up Docker Buildx
3730
uses: docker/setup-buildx-action@v3
3831

@@ -43,33 +36,15 @@ jobs:
4336
username: ${{ github.actor }}
4437
password: ${{ secrets.GITHUB_TOKEN }}
4538

46-
- name: Build and push
39+
- name: Build and push (multi-arch)
4740
uses: docker/build-push-action@v6
4841
with:
4942
context: ./core
5043
file: ./core/Dockerfile.binary
5144
push: true
5245
tags: |
53-
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ matrix.tag_suffix }}
54-
platforms: ${{ matrix.platform }}
55-
cache-from: type=gha,scope=callosum-${{ matrix.tag_suffix }}
56-
cache-to: type=gha,mode=max,scope=callosum-${{ matrix.tag_suffix }}
57-
58-
manifest:
59-
needs: build
60-
runs-on: ubuntu-latest
61-
62-
steps:
63-
- name: Log in to GHCR
64-
uses: docker/login-action@v3
65-
with:
66-
registry: ${{ env.REGISTRY }}
67-
username: ${{ github.actor }}
68-
password: ${{ secrets.GITHUB_TOKEN }}
69-
70-
- name: Create multi-arch manifest
71-
run: |
72-
docker manifest create ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest \
73-
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:amd64 \
74-
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:arm64
75-
docker manifest push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
46+
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
47+
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}
48+
platforms: linux/amd64,linux/arm64
49+
cache-from: type=gha,scope=callosum
50+
cache-to: type=gha,mode=max,scope=callosum

0 commit comments

Comments
 (0)