@@ -2,16 +2,31 @@ name: Build Images
2
2
on :
3
3
push :
4
4
branches :
5
- - master
6
- - main
5
+ - master
6
+ - main
7
7
8
8
jobs :
9
9
build :
10
10
runs-on : ubuntu-20.04
11
11
steps :
12
- - uses : actions/checkout@v2
12
+ - uses : actions/checkout@v4
13
13
with :
14
14
fetch-depth : 2
15
+ - name : Free Disk Space (Ubuntu)
16
+ uses : jlumbroso/free-disk-space@main
17
+ with :
18
+ # this might remove tools that are actually needed,
19
+ # if set to "true" but frees about 6 GB
20
+ tool-cache : false
21
+
22
+ # all of these default to true, but feel free to set to
23
+ # "false" if necessary for your workflow
24
+ android : true
25
+ dotnet : true
26
+ haskell : true
27
+ large-packages : true
28
+ docker-images : false
29
+ swap-storage : true
15
30
- name : get golang version 1
16
31
run : |
17
32
export VERSION=$(cat .golang_version | awk -F',' '{print $1}' | sed 's/go1/go-1/')
@@ -43,33 +58,36 @@ jobs:
43
58
echo "value=$(echo -n $VAL)" >> $GITHUB_OUTPUT
44
59
id : toolchain_build
45
60
- name : Set up Docker Buildx
46
- uses : docker/setup-buildx-action@v1
61
+ uses : docker/setup-buildx-action@v2
47
62
- name : Login to Docker Hub
48
- uses : docker/login-action@v1
63
+ uses : docker/login-action@v2
49
64
with :
50
65
username : ${{ secrets.DOCKER_USERNAME }}
51
66
password : ${{ secrets.DOCKER_PASSWORD }}
52
67
- name : build toolchain image
53
- uses : docker/build-push-action@v2
68
+ uses : docker/build-push-action@v4
54
69
if : steps.toolchain_build.outputs.value != '0'
55
70
with :
56
71
context : docker/toolchain/
72
+ platforms : linux/amd64,linux/arm64
57
73
tags : techknowlogick/xgo:toolchain
58
74
push : true
59
75
file : docker/toolchain/Dockerfile
60
76
- name : build golang ${{ steps.golang_version_1.outputs.value }} image base
61
- uses : docker/build-push-action@v2
77
+ uses : docker/build-push-action@v4
62
78
with :
63
79
context : docker/${{ steps.golang_version_1.outputs.value }}/
80
+ platforms : linux/amd64,linux/arm64
64
81
tags : techknowlogick/xgo:${{ steps.golang_version_1.outputs.value }}-base
65
82
push : true
66
83
file : docker/${{ steps.golang_version_1.outputs.value }}/Dockerfile
67
84
build-contexts : |
68
85
toolchain=docker-image://techknowlogick/xgo:toolchain
69
86
- name : build golang ${{ steps.golang_version_1.outputs.value }} image
70
- uses : docker/build-push-action@v3
87
+ uses : docker/build-push-action@v4
71
88
with :
72
89
context : .
90
+ platforms : linux/amd64,linux/arm64
73
91
tags : techknowlogick/xgo:${{ steps.golang_version_1.outputs.value }},techknowlogick/xgo:${{ steps.golang_version_1.outputs.wildcard }}
74
92
push : true
75
93
build-args : |
78
96
build-contexts : |
79
97
${{ steps.golang_version_1.outputs.value }}-base=docker-image://techknowlogick/xgo:${{ steps.golang_version_1.outputs.value }}-base
80
98
- name : build golang ${{ steps.golang_version_2.outputs.value }} image
81
- uses : docker/build-push-action@v2
99
+ uses : docker/build-push-action@v4
82
100
with :
83
101
context : docker/${{ steps.golang_version_2.outputs.value }}/
102
+ platforms : linux/amd64,linux/arm64
84
103
tags : techknowlogick/xgo:${{ steps.golang_version_2.outputs.value }}-base
85
104
push : true
86
105
file : docker/${{ steps.golang_version_2.outputs.value }}/Dockerfile
90
109
uses : docker/build-push-action@v3
91
110
with :
92
111
context : .
112
+ platforms : linux/amd64,linux/arm64
93
113
tags : techknowlogick/xgo:${{ steps.golang_version_2.outputs.value }},techknowlogick/xgo:${{ steps.golang_version_2.outputs.wildcard }}
94
114
push : true
95
115
build-args : |
@@ -98,9 +118,10 @@ jobs:
98
118
build-contexts : |
99
119
${{ steps.golang_version_2.outputs.value }}-base=docker-image://techknowlogick/xgo:${{ steps.golang_version_2.outputs.value }}-base
100
120
- name : build latest image
101
- uses : docker/build-push-action@v2
121
+ uses : docker/build-push-action@v4
102
122
with :
103
123
context : docker/go-latest/
124
+ platforms : linux/amd64,linux/arm64
104
125
tags : techknowlogick/xgo:latest
105
126
push : true
106
127
file : docker/go-latest/Dockerfile
0 commit comments