1+ ---
12name : Docker PostGIS CI
23
34on :
45 push :
56 pull_request :
67 schedule :
7- - cron : ' 15 5 * * 1'
8+ - cron : " 15 5 * * 1"
89
910defaults :
1011 run :
1112 shell : bash
1213
1314jobs :
14-
1515 make-docker-images :
1616 strategy :
1717 matrix :
1818 postgres : [12, 13, 14, 15, 16, 17]
19- postgis : [' 3.5' ]
19+ postgis : [" 3.5" ]
2020 variant : [default, alpine]
21+ arch : ["linux/amd64", "linux/arm64"]
2122 include :
2223 - postgres : 16
2324 postgis : master
@@ -26,31 +27,52 @@ jobs:
2627 postgis : master
2728 variant : default
2829
29- name : Build docker image for ${{ matrix.postgres }}-${{ matrix.postgis }} variant ${{ matrix.variant }}
30+ name : >-
31+ Build docker image for
32+ ${{ matrix.arch }}-${{ matrix.postgres }}-${{ matrix.postgis }}
33+ variant ${{ matrix.variant }}
3034 runs-on : ubuntu-20.04
3135 continue-on-error : ${{ matrix.postgis == 'master' }}
3236 env :
3337 VERSION : ${{ matrix.postgres }}-${{ matrix.postgis }}
38+ ARCH : ${{ matrix.arch }}
3439 VARIANT : ${{ matrix.variant }}
3540
3641 steps :
37- - name : Checkout source
38- uses : actions/checkout@v4
39-
40- - name : Build docker image for ${{ env.VERSION }} ${{ env.VARIANT }}
41- run : make test
42-
43- - name : Login to dockerhub
44- uses : docker/login-action@v3
45- if : ${{ (github.ref == 'refs/heads/master') && (github.event_name != 'pull_request') }}
46- with :
47- username : ${{ secrets.DOCKERHUB_USERNAME }}
48- password : ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}
49-
50- - name : Push docker image to dockerhub
51- if : ${{ (github.ref == 'refs/heads/master') && (github.event_name != 'pull_request') }}
52- env :
53- DOCKERHUB_USERNAME : ${{ secrets.DOCKERHUB_USERNAME }}
54- DOCKERHUB_ACCESS_TOKEN : ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}
55- run : make push
42+ - name : Checkout source
43+ uses : actions/checkout@v4
44+
45+ - name : >-
46+ Build docker image for
47+ ${{ env.ARCH }}
48+ ${{ env.VERSION }}
49+ ${{ env.VARIANT }}
50+ run: make test
51+
52+ - name : Set up QEMU
53+ uses : docker/setup-qemu-action@v3
54+
55+ - name : Set up Docker Buildx
56+ uses : docker/setup-buildx-action@v3
57+
58+ - name : Login to dockerhub
59+ uses : docker/login-action@v3
60+ if : >-
61+ ${{
62+ (github.ref == 'refs/heads/master') &&
63+ (github.event_name != 'pull_request')
64+ }}
65+ with :
66+ username : ${{ secrets.DOCKERHUB_USERNAME }}
67+ password : ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}
5668
69+ - name : Push docker image to dockerhub
70+ if : >-
71+ ${{
72+ (github.ref == 'refs/heads/master') &&
73+ (github.event_name != 'pull_request')
74+ }}
75+ env :
76+ DOCKERHUB_USERNAME : ${{ secrets.DOCKERHUB_USERNAME }}
77+ DOCKERHUB_ACCESS_TOKEN : ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}
78+ run : make push
0 commit comments