@@ -2,7 +2,7 @@ name: linux
22
33on :
44 push :
5- branches : [main]
5+ branches : [ main ]
66 pull_request :
77
88concurrency :
@@ -56,12 +56,22 @@ jobs:
5656 fail-fast : false
5757 matrix :
5858 image :
59- - build
60- - build.cross
61- - build.cross-riscv64
62- - gcc
63- name : ${{ matrix.image }}
64- runs-on : depot-ubuntu-22.04
59+ - name : build
60+ platform : linux64
61+ - name : build.cross
62+ platform : linux64
63+ - name : build.cross-riscv64
64+ platform : linux64
65+ - name : build.debian9
66+ platform : linux_aarch64
67+ - name : gcc
68+ platform : linux64
69+ - name : gcc.debian9
70+ platform : linux_aarch64
71+ - name : xcb.debian9
72+ platform : linux_aarch64
73+ name : ${{ matrix.image.name }}
74+ runs-on : ${{ matrix.image.platform == 'linux_aarch64' && 'depot-ubuntu-22.04-arm' || 'depot-ubuntu-22.04' }}
6575 permissions :
6676 packages : write
6777 steps :
@@ -95,30 +105,30 @@ jobs:
95105 uses : docker/build-push-action@v5
96106 with :
97107 context : .
98- file : build/${{ matrix.image }}.Dockerfile
108+ file : build/${{ matrix.image.name }}.Dockerfile
99109 labels : org.opencontainers.image.source=https://github.com/${{ env.REPO_NAME }}
100110 # Cache from/to the current branch of the current repo as the primary cache key.
101111 # Cache from the default branch of the current repo so branches can have cache hits.
102112 # Cache from the default branch of the canonical repo so forks can have cache hits.
103113 # Ignore errors on cache writes so CI of forks works without a valid GHCR config.
104114 cache-from : |
105- type=registry,ref=ghcr.io/${{ env.REPO_NAME }}:${{ matrix.image }}-${{ env.GIT_REF_NAME }}
106- type=registry,ref=ghcr.io/${{ env.REPO_NAME }}:${{ matrix.image }}-main
107- type=registry,ref=ghcr.io/astral-sh/python-build-standalone:${{ matrix.image }}-main
115+ type=registry,ref=ghcr.io/${{ env.REPO_NAME }}:${{ matrix.image.name }}-${{ matrix.image.platform }}-${{ env.GIT_REF_NAME }}
116+ type=registry,ref=ghcr.io/${{ env.REPO_NAME }}:${{ matrix.image.name }}-${{ matrix.image.platform }}-main
117+ type=registry,ref=ghcr.io/astral-sh/python-build-standalone:${{ matrix.image.name }}-${{ matrix.image.platform }}-main
108118 cache-to : |
109- type=registry,ref=ghcr.io/${{ env.REPO_NAME }}:${{ matrix.image }}-${{ env.GIT_REF_NAME }},ignore-error=true
119+ type=registry,ref=ghcr.io/${{ env.REPO_NAME }}:${{ matrix.image.name }}-${{ matrix.image.platform }}-${{ env.GIT_REF_NAME }},ignore-error=true
110120 outputs : |
111- type=docker,dest=build/image-${{ matrix.image }}.tar
121+ type=docker,dest=build/image-${{ matrix.image.name }}.${{ matrix.image.platform }}.tar
112122
113123 - name : Compress Image
114124 run : |
115- echo ${{ steps.build-image.outputs.imageid }} > build/image-${{ matrix.image }}
125+ echo ${{ steps.build-image.outputs.imageid }} > build/image-${{ matrix.image.name }}.${{ matrix.image.platform }}
116126 zstd -v -T0 -6 --rm build/image-*.tar
117127
118128 - name : Upload Docker Image
119129 uses : actions/upload-artifact@v4
120130 with :
121- name : image-${{ matrix.image }}
131+ name : image-${{ matrix.image.name }}-${{ matrix.image.platform }}
122132 path : build/image-*
123133
124134 generate-matrix :
0 commit comments