@@ -15,19 +15,16 @@ jobs:
1515 strategy :
1616 fail-fast : false
1717 matrix :
18- runner :
19- - selector : ubuntu-latest
20- platform : linux/amd64
21- - selector : burnt-labs-arm64
22- platform : linux/ arm64
23- runs-on : ${{ matrix.runner.selector }}
18+ os :
19+ - linux
20+ arch :
21+ - amd64
22+ - arm64
23+ runs-on : ${{ matrix.arch == 'amd64' && 'ubuntu-latest' || format('burnt-labs-{0}', matrix.arch) }}
2424
2525 steps :
2626 - name : Check out code
2727 uses : actions/checkout@v4
28- with :
29- ref : ${{ github.ref }}
30- fetch-depth : 0
3128
3229 - name : Set up QEMU
3330 uses : docker/setup-qemu-action@v3
@@ -36,47 +33,46 @@ jobs:
3633 uses : docker/setup-buildx-action@v3
3734 with :
3835 driver : docker
39- platforms : ${{ matrix.runner.platform }}
36+ platforms : ${{ matrix.os }}/${{ matrix.arch }}
4037
4138 - name : Prepare environment
4239 run : |
43- echo "PLATFORM=${{ matrix.runner.platform }}" | tr '/' '-' | tee -a $GITHUB_ENV
44- echo "XIOND_FN=xiond/${{ matrix.runner.platform }}" | tr '/' '-' | tee -a $GITHUB_ENV
45- echo "DOCKER_FN=docker/${{ matrix.runner.platform }}.tar" | tr '/' '-' | tee -a $GITHUB_ENV
46- echo "HEIGHLINER_FN=heighliner/${{ matrix.runner.platform }}.tar" | tr '/' '-' | tee -a $GITHUB_ENV
40+ echo "XIOND_FN=xiond-${{ matrix.os }}-${{ matrix.arch }}" | tee -a $GITHUB_ENV
41+ echo "DOCKER_FN=docker-${{ matrix.os }}-${{ matrix.arch }}.tar" | tee -a $GITHUB_ENV
42+ echo "HEIGHLINER_FN=heighliner-${{ matrix.os }}-${{ matrix.arch }}.tar" | tee -a $GITHUB_ENV
4743 echo "VERSION=$(git describe --tags | sed 's/^v//')" | tee -a $GITHUB_ENV
4844
4945 - name : Build Docker Image
5046 id : build-docker
5147 uses : docker/build-push-action@v5
5248 with :
53- build-args : |
54- COMMIT="${GITHUB_SHA}"
55- VERSION=${{ env.VERSION }}
56- TAG_VERSION="${GITHUB_SHA:0:7}"
57- labels : ${{ steps.meta.outputs.labels }}
58- platforms : ${{ matrix.runner.platform }}
59- push : false
6049 target : release
61- outputs : type=docker,name=xion:${{ env.PLATFORM }},name-canonical=true
50+ push : false
51+ load : true
52+ labels : ${{ steps.meta.outputs.labels }}
53+ platforms : ${{ matrix.os }}/${{ matrix.arch }}
54+ tags : xion:${{ matrix.os }}-${{ matrix.arch }}
55+ build-args : |
56+ GORELEASER_CURRENT_TAG=${{ github.ref_name }}
57+ BUILDKIT_CONTEXT_KEEP_GIT_DIR=true
6258
6359 - name : Build Heighliner Image
6460 id : build-heighliner
6561 uses : docker/build-push-action@v5
6662 with :
67- build-args : |
68- BASE_IMAGE=xion
69- VERSION=${{ env.PLATFORM }}
70- BINARIES=/usr/bin/xiond
71- labels : ${{ steps.meta.outputs.labels }}
72- platforms : ${{ matrix.runner.platform }}
7363 target : heighliner
74- outputs : type=docker,name=heighliner:${{ env.PLATFORM }},name-canonical=true
64+ push : false
65+ load : true
66+ labels : ${{ steps.meta.outputs.labels }}
67+ platforms : ${{ matrix.os }}/${{ matrix.arch }}
68+ tags : heighliner:${{ matrix.os }}-${{ matrix.arch }}
69+ build-args : |
70+ BUILDKIT_CONTEXT_KEEP_GIT_DIR=true
7571
7672 - name : Save Docker Image
7773 working-directory : ${{ runner.temp }}
7874 run : |
79- docker save xion:${{ env.PLATFORM }} > ${{ env.DOCKER_FN }}
75+ docker save xion:${{ matrix.os }}-${{ matrix.arch }} > ${{ env.DOCKER_FN }}
8076
8177 - name : Upload Docker Image
8278 uses : actions/upload-artifact@v4
8985 - name : Save Heighliner Image
9086 working-directory : ${{ runner.temp }}
9187 run : |
92- docker save heighliner:${{ env.PLATFORM }} > ${{ env.HEIGHLINER_FN }}
88+ docker save heighliner:${{ matrix.os }}-${{ matrix.arch }} > ${{ env.HEIGHLINER_FN }}
9389
9490 - name : Upload Heighliner Image
9591 uses : actions/upload-artifact@v4
@@ -104,7 +100,7 @@ jobs:
104100 working-directory : ${{ runner.temp }}
105101 run : |
106102 tmpname="ctr-$(basename $XIOND_FN)"
107- docker create --platform ${{ matrix.runner.platform }} --name "${tmpname}" "xion:${PLATFORM }"
103+ docker create --platform ${{ matrix.os }}/${{ matrix.arch }} --name "${tmpname}" "xion:${{ matrix.os }}-${{ matrix.arch } }"
108104 docker cp "${tmpname}:/usr/bin/xiond" "${XIOND_FN}"
109105 docker rm -v "${tmpname}"
110106
@@ -114,4 +110,5 @@ jobs:
114110 with :
115111 name : ${{ env.XIOND_FN }}
116112 path : ${{ runner.temp }}/${{ env.XIOND_FN }}
113+ if-no-files-found : error
117114 retention-days : 3
0 commit comments