1
+ ---
1
2
name : Docker PostGIS CI
2
3
3
4
on :
4
5
push :
5
6
pull_request :
6
7
schedule :
7
- - cron : ' 15 5 * * 1'
8
+ - cron : " 15 5 * * 1"
8
9
9
10
defaults :
10
11
run :
11
12
shell : bash
12
13
13
14
jobs :
14
-
15
15
make-docker-images :
16
16
strategy :
17
17
matrix :
18
18
postgres : [12, 13, 14, 15, 16, 17]
19
- postgis : [' 3.5' ]
19
+ postgis : [" 3.5" ]
20
20
variant : [default, alpine]
21
+ arch : ["linux/amd64", "linux/arm64"]
21
22
include :
22
23
- postgres : 16
23
24
postgis : master
@@ -26,31 +27,52 @@ jobs:
26
27
postgis : master
27
28
variant : default
28
29
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 }}
30
34
runs-on : ubuntu-20.04
31
35
continue-on-error : ${{ matrix.postgis == 'master' }}
32
36
env :
33
37
VERSION : ${{ matrix.postgres }}-${{ matrix.postgis }}
38
+ ARCH : ${{ matrix.arch }}
34
39
VARIANT : ${{ matrix.variant }}
35
40
36
41
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 : Set up QEMU
46
+ uses : docker/setup-qemu-action@v3
47
+
48
+ - name : Set up Docker Buildx
49
+ uses : docker/setup-buildx-action@v3
50
+
51
+ - name : >-
52
+ Build docker image for
53
+ ${{ env.ARCH }}
54
+ ${{ env.VERSION }}
55
+ ${{ env.VARIANT }}
56
+ run: make test
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 }}
56
68
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