11name : cd·docker
2+ run-name : cd·docker:${{ github.event.release.tag_name || github.event.inputs.tag }}
23
34on :
45 release :
@@ -19,10 +20,20 @@ permissions:
1920
2021jobs :
2122 build-and-push-image :
22- name : docker buildx pkgxdev/pkgx:${{ github.event.release.tag_name || github.event.inputs.tag }}
23+ strategy :
24+ matrix :
25+ x :
26+ - variety : archlinux
27+ platforms : linux/amd64
28+ - variety : busybox
29+ platforms : linux/amd64
30+ - variety : debian
31+ platforms : linux/amd64,linux/arm64
32+ - variety : ubuntu
33+ platforms : linux/amd64,linux/arm64
2334 runs-on : ubuntu-latest
2435 steps :
25- - uses : robinraju/release-downloader@v1.11
36+ - uses : robinraju/release-downloader@v1.12
2637 with :
2738 releaseId : ${{ github.event.release.id }}
2839 tag : ${{ github.event.inputs.tag }}
3142 - name : is_latest?
3243 id : latest
3344 run : |
45+ if [ ${{ matrix.x.variety }} != debian ]; then
46+ echo "value=false" >> "${GITHUB_OUTPUT}"
47+ exit
48+ fi
3449 TAG_NAME="${{ github.event.release.tag_name || github.event.inputs.tag }}"
3550 LATEST_RELEASE=$(gh api repos/${{ github.repository }}/releases/latest --jq '.tag_name')
3651 if [ "$TAG_NAME" == "$LATEST_RELEASE" ]; then
@@ -74,10 +89,11 @@ jobs:
7489 flavor : |
7590 latest=${{ steps.latest.outputs.value }}
7691 tags : |
77- type=sha
78- type=semver,pattern=v{{version}},value=${{ github.event.release.tag_name || github.event.inputs.tag }}
79- type=semver,pattern=v{{major}}.{{minor}},value=${{ github.event.release.tag_name || github.event.inputs.tag }}
80- type=semver,pattern=v{{major}},value=${{ github.event.release.tag_name || github.event.inputs.tag }}
92+ type=semver,pattern=v{{version}},value=${{ github.event.release.tag_name || github.event.inputs.tag }},enable=${{ matrix.x.variety == 'debian' }}
93+ type=semver,pattern=v{{major}}.{{minor}},value=${{ github.event.release.tag_name || github.event.inputs.tag }},enable=${{ matrix.x.variety == 'debian' }}
94+ type=semver,pattern=v{{major}},value=${{ github.event.release.tag_name || github.event.inputs.tag }},enable=${{ matrix.x.variety == 'debian' }}
95+ type=raw,value=${{ matrix.x.variety }}
96+ if : ${{ matrix.x.variety == 'debian' }}
8197
8298 - uses : docker/setup-qemu-action@v3
8399 - uses : docker/setup-buildx-action@v3
90106 docker buildx build \
91107 --push \
92108 $tags \
93- --platform linux/amd64,linux/arm64 \
94- --file ./src/.github/Dockerfile \
109+ --tag pkgxdev/pkgx:${{matrix.x.variety}} \
110+ --platform ${{matrix.x.platforms}} \
111+ --file ./src/docker/Dockerfile.${{ matrix.x.variety }} \
95112 .
0 commit comments