44 tags :
55 - v*.*.*
66
7+ env :
8+ REGISTRY : ghcr.io
9+ IMAGE_NAME : ${{ github.repository }}
10+
711jobs :
812 unit-test :
913 runs-on : ubuntu-latest
@@ -28,17 +32,35 @@ jobs:
2832 needs : [unit-test]
2933
3034 steps :
31- - name : checkout
32- uses : actions/checkout@v4
35+ - name : Checkout repository
36+ uses : actions/checkout@v4
3337
34- - name : get version tag
35- run : echo TAG_NAME=$(echo ${GITHUB_REF} | rev | cut -d"/" -f1 | rev) >> $GITHUB_ENV
38+ - name : Set up QEMU
39+ uses : docker/setup-qemu-action@v3
40+
41+ - name : Set up Docker Buildx
42+ uses : docker/setup-buildx-action@v3
43+
44+ - name : Log in to the Container registry
45+ uses : docker/login-action@v3
46+ with :
47+ registry : ${{ env.REGISTRY }}
48+ username : ${{ github.actor }}
49+ password : ${{ secrets.GITHUB_TOKEN }}
3650
37- - name : docker login
38- run : echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
51+ - name : Extract metadata (tags, labels) for Docker
52+ id : meta
53+ uses : docker/metadata-action@v5
54+ with :
55+ images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
3956
40- - name : docker build
41- run : >-
42- docker buildx create --name builder &&
43- docker buildx use --builder builder &&
44- make dockerx-build version=${TAG_NAME}
57+ - name : Build and push Docker image
58+ uses : docker/build-push-action@v6
59+ with :
60+ context : .
61+ build-args : |
62+ KONSTRAINT_VER="${{ github.ref_name }}"
63+ platforms : linux/arm/v7,linux/arm64,linux/amd64
64+ push : true
65+ tags : ${{ steps.meta.outputs.tags }}
66+ labels : ${{ steps.meta.outputs.labels }}
0 commit comments