66jobs :
77 build :
88 runs-on : ubuntu-latest
9+ strategy :
10+ matrix :
11+ postgres_version : [15, 16, 17]
912 steps :
1013 - name : Checkout
1114 uses : actions/checkout@v4
@@ -29,10 +32,51 @@ jobs:
2932 string : ${{ github.repository }}
3033
3134 - name : Build
32- uses : docker/build-push-action@v5
35+ uses : docker/build-push-action@v6
3336 with :
3437 push : true
38+ build-args : |
39+ POSTGRES_VERSION=${{ matrix.postgres_version }}
3540 tags : |
3641 ${{ steps.name.outputs.lowercase }}:latest
37- ${{ steps.name.outputs.lowercase }}:${{ github.event.release.name }}
42+ ${{ steps.name.outputs.lowercase }}:${{ github.event.release.name }}-pg${{matrix.postgres_version}}
3843 platforms : linux/amd64,linux/arm64
44+ cache-from : type=gha
45+ cache-to : type=gha,mode=max
46+
47+ build-latest :
48+ runs-on : ubuntu-latest
49+ needs : build
50+ steps :
51+ - name : Checkout
52+ uses : actions/checkout@v4
53+
54+ - name : Set up QEMU
55+ uses : docker/setup-qemu-action@v3
56+
57+ - name : Set up Docker Buildx
58+ uses : docker/setup-buildx-action@v3
59+
60+ - name : Login to Docker Hub
61+ uses : docker/login-action@v3
62+ with :
63+ username : ${{ secrets.DOCKERHUB_USERNAME }}
64+ password : ${{ secrets.DOCKERHUB_PASSWORD }}
65+
66+ - name : Generate image identifier
67+ id : name
68+ uses : ASzc/change-string-case-action@v5
69+ with :
70+ string : ${{ github.repository }}
71+
72+ - name : Build
73+ uses : docker/build-push-action@v6
74+ with :
75+ push : true
76+ build-args : |
77+ POSTGRES_VERSION=17
78+ tags : |
79+ ${{ steps.name.outputs.lowercase }}:latest
80+ platforms : linux/amd64,linux/arm64
81+ cache-from : type=gha
82+ cache-to : type=gha,mode=max
0 commit comments