5858 runs-on : ubuntu-latest
5959 outputs :
6060 matrix : ${{ steps.generate-matrix.outputs.matrix }}
61+ arch_list : ${{ steps.generate-arch-list.outputs.arch_list }}
6162 steps :
6263 - uses : actions/checkout@v4
6364
7778 echo "$MATRIX"
7879 echo "matrix=$MATRIX" >> $GITHUB_OUTPUT
7980
80- ARCH_LIST=$(echo "$MATRIX" | jq -r '.[].arch' | jq -R -s -c 'split("\n") | map(select(. != ""))')
81+ - name : Generate Arch List
82+ id : generate-arch-list
83+ run : |
84+ ARCH_LIST=$(nix run .#archs --quiet)
85+ echo "Generated Archs:"
86+ echo "$ARCH_LIST"
8187 echo "arch_list=$ARCH_LIST" >> $GITHUB_OUTPUT
8288
8389 build :
@@ -173,7 +179,7 @@ jobs:
173179 strategy :
174180 fail-fast : false
175181 matrix :
176- include : ${{ fromJson(needs.generate-matrix.outputs.matrix ) }}
182+ include : ${{ fromJson(needs.generate-matrix.outputs.arch_list ) }}
177183 steps :
178184 - uses : actions/checkout@v4
179185 - name : Set Repository Lowercase
@@ -193,16 +199,12 @@ jobs:
193199 docker load < ./result
194200 docker tag grhooks:${{ env.VERSION }} ghcr.io/${{ env.REPOSITORY }}/grhooks:${{ matrix.arch }}
195201
196- - name : Create and push unified manifest
197- run : |
198- docker manifest create ghcr.io/${{ env.REPOSITORY }}/grhooks:${{ env.VERSION }} \
199- --amend ghcr.io/${{ env.REPOSITORY }}/grhooks:${{ matrix.arch }}
200-
201202 docker-publish :
202203 runs-on : ubuntu-latest
203204 needs : [setup, generate-matrix, docker-build]
204205 env :
205206 VERSION : ${{ needs.setup.outputs.version }}
207+ ARCHS : ${{ needs.generate-matrix.outputs.arch_list }}
206208 steps :
207209 - name : Log in to GHCR
208210 uses : docker/login-action@v3
@@ -216,12 +218,11 @@ jobs:
216218 - name : Create and push manifest
217219 run : |
218220 IMAGE=ghcr.io/${{ env.REPOSITORY }}/grhooks:${{ env.VERSION }}
219- ARCHS='${{ needs.generate-matrix.outputs.arch_list }}'
220221
221222 echo "Creating manifest for architectures: $ARCHS"
222223
223224 manifest_args=""
224- for arch in $(echo "$ARCHS" | jq -r '.[]'); do
225+ for arch in $(echo "$ARCHS" | jq -r '.[].arch '); do
225226 manifest_args="$manifest_args --amend ghcr.io/${{ env.REPOSITORY }}/grhooks:$arch"
226227 done
227228
0 commit comments