2626 DOCKER_MIRROR_REGISTRY_USERNAME : ${{ vars.DOCKER_MIRROR_REGISTRY_USERNAME }}
2727 DOCKER_MIRROR_REGISTRY_PASSWORD : ${{ secrets.DOCKER_MIRROR_REGISTRY_PASSWORD }}
2828 CI_PROJECT_NAME : ${{ vars.CI_PROJECT_NAME || 'LabNow/lab-foundation' }}
29+ DOCKER_PLATFORM : amd64,arm64
30+
2931
3032jobs :
3133 job-base :
@@ -35,10 +37,10 @@ jobs:
3537 - uses : actions/checkout@v4
3638 - run : |
3739 source ./tool.sh
38- build_image atom latest docker_atom/Dockerfile && push_image
40+ build_image atom latest docker_atom/Dockerfile
3941 export IMG_PREFIX_SRC="${IMG_PREFIX_DST}"
4042 build_image python-3.12 latest docker_base/Dockerfile --build-arg "PYTHON_VERSION=3.12"
41- alias_image python-3.12 latest base latest && push_image
43+ build_image base latest docker_base/Dockerfile --build-arg "PYTHON_VERSION=3.12"
4244
4345 job-python :
4446 name : ' python-3.7,python-3.13'
4951 - run : |
5052 source ./tool.sh
5153 export IMG_PREFIX_SRC="${IMG_PREFIX_DST}"
52- build_image python-3.13 latest docker_base/Dockerfile --build-arg "PYTHON_VERSION=3.13" && push_image
53- build_image python-3.7 latest docker_base/Dockerfile --build-arg "PYTHON_VERSION=3.7" && push_image
54+ build_image python-3.13 latest docker_base/Dockerfile --build-arg "PYTHON_VERSION=3.13"
55+ build_image python-3.7 latest docker_base/Dockerfile --build-arg "PYTHON_VERSION=3.7"
5456
5557
5658 job-core :
@@ -67,31 +69,30 @@ jobs:
6769 --build-arg "ARG_PROFILE_NODEJS=base" \
6870 --build-arg "ARG_PROFILE_JAVA=base,maven" \
6971 --build-arg "ARG_PROFILE_LATEX=base,cjk"
70- push_image core
7172
7273 job-py-data :
7374 name : ' py-data'
7475 needs : job-base
7576 runs-on : ubuntu-latest
7677 steps :
7778 - uses : actions/checkout@v4
78- - run : source ./tool.sh && build_image py-data latest docker_core/Dockerfile --build-arg "ARG_PROFILE_PYTHON=datascience,mkl,database" && push_image
79+ - run : source ./tool.sh && build_image py-data latest docker_core/Dockerfile --build-arg "ARG_PROFILE_PYTHON=datascience,mkl,database"
7980
8081 job-py-chem :
8182 name : ' py-chem'
8283 needs : job-base
8384 runs-on : ubuntu-latest
8485 steps :
8586 - uses : actions/checkout@v4
86- - run : source ./tool.sh && build_image py-chem latest docker_core/Dockerfile --build-arg "ARG_PROFILE_PYTHON=datascience,mkl,chem,torch" && push_image
87+ - run : source ./tool.sh && build_image py-chem latest docker_core/Dockerfile --build-arg "ARG_PROFILE_PYTHON=datascience,mkl,chem,torch"
8788
8889 job-py-std :
8990 name : ' py-std'
9091 needs : job-base
9192 runs-on : ubuntu-latest
9293 steps :
9394 - uses : actions/checkout@v4
94- - run : source ./tool.sh && build_image py-std latest docker_core/Dockerfile --build-arg "ARG_PROFILE_PYTHON=datascience,mkl,database,nlp,cv,chem" && push_image
95+ - run : source ./tool.sh && build_image py-std latest docker_core/Dockerfile --build-arg "ARG_PROFILE_PYTHON=datascience,mkl,database,nlp,cv,chem"
9596
9697 job-py-jdk :
9798 name : ' py-jdk'
@@ -104,39 +105,38 @@ jobs:
104105 build_image py-jdk latest docker_core/Dockerfile \
105106 --build-arg "ARG_PROFILE_PYTHON=datascience,mkl,database,nlp,cv,chem" \
106107 --build-arg "ARG_PROFILE_JAVA=base"
107- push_image
108108
109109 job-r-base :
110110 name : ' r-base'
111111 needs : job-base
112112 runs-on : ubuntu-latest
113113 steps :
114114 - uses : actions/checkout@v4
115- - run : source ./tool.sh && build_image r-base latest docker_core/Dockerfile --build-arg "ARG_PROFILE_R=base" && push_image
115+ - run : source ./tool.sh && build_image r-base latest docker_core/Dockerfile --build-arg "ARG_PROFILE_R=base"
116116
117117 job-r-std :
118118 name : ' r-std'
119119 needs : job-base
120120 runs-on : ubuntu-latest
121121 steps :
122122 - uses : actions/checkout@v4
123- - run : source ./tool.sh && build_image r-std latest docker_core/Dockerfile --build-arg "ARG_PROFILE_R=base,datascience" --build-arg "ARG_PROFILE_JAVA=base" && push_image
123+ - run : source ./tool.sh && build_image r-std latest docker_core/Dockerfile --build-arg "ARG_PROFILE_R=base,datascience" --build-arg "ARG_PROFILE_JAVA=base"
124124
125125 job-node :
126126 name : ' node'
127127 needs : job-base
128128 runs-on : ubuntu-latest
129129 steps :
130130 - uses : actions/checkout@v4
131- - run : source ./tool.sh && build_image node latest docker_core/Dockerfile --build-arg "ARG_PROFILE_NODEJS=base" && push_image
131+ - run : source ./tool.sh && build_image node latest docker_core/Dockerfile --build-arg "ARG_PROFILE_NODEJS=base"
132132
133133 job-bun :
134134 name : ' bun'
135135 needs : job-base
136136 runs-on : ubuntu-latest
137137 steps :
138138 - uses : actions/checkout@v4
139- - run : source ./tool.sh && build_image bun latest docker_core/Dockerfile --build-arg "ARG_PROFILE_NODEJS=bun" && push_image
139+ - run : source ./tool.sh && build_image bun latest docker_core/Dockerfile --build-arg "ARG_PROFILE_NODEJS=bun"
140140
141141
142142 job-jdk :
@@ -151,15 +151,14 @@ jobs:
151151 build_image jdk-17 latest docker_core/Dockerfile --build-arg "ARG_PROFILE_JAVA=base" --build-arg "VERSION_JDK=17"
152152 build_image jdk-11 latest docker_core/Dockerfile --build-arg "ARG_PROFILE_JAVA=base" --build-arg "VERSION_JDK=11"
153153 build_image jdk-8 latest docker_core/Dockerfile --build-arg "ARG_PROFILE_JAVA=base" --build-arg "VERSION_JDK=8"
154- alias_image jdk-11 latest jdk latest && push_image jdk
155154
156155 job-julia :
157156 name : ' julia'
158157 needs : job-base
159158 runs-on : ubuntu-latest
160159 steps :
161160 - uses : actions/checkout@v4
162- - run : source ./tool.sh && build_image julia latest docker_core/Dockerfile --build-arg "ARG_PROFILE_JULIA=base" && push_image
161+ - run : source ./tool.sh && build_image julia latest docker_core/Dockerfile --build-arg "ARG_PROFILE_JULIA=base"
163162
164163 job-go :
165164 name : ' go,go-stack'
@@ -172,15 +171,14 @@ jobs:
172171 build_image go latest docker_core/Dockerfile --build-arg "ARG_PROFILE_GO=base"
173172 export IMG_PREFIX_SRC="${IMG_PREFIX_DST}"
174173 build_image go-stack latest docker_core/Dockerfile --build-arg "ARG_PROFILE_GO=base" --build-arg "ARG_PROFILE_NODEJS=base"
175- push_image go
176174
177175 job-rust :
178176 name : ' rust'
179177 needs : job-base
180178 runs-on : ubuntu-latest
181179 steps :
182180 - uses : actions/checkout@v4
183- - run : source ./tool.sh && build_image rust latest docker_core/Dockerfile --build-arg "ARG_PROFILE_RUST=base" && push_image
181+ - run : source ./tool.sh && build_image rust latest docker_core/Dockerfile --build-arg "ARG_PROFILE_RUST=base"
184182
185183 job-data-science-stack :
186184 name : ' data-science-stack'
@@ -195,7 +193,6 @@ jobs:
195193 --build-arg "ARG_PROFILE_R=base,datascience" \
196194 --build-arg "ARG_PROFILE_NODEJS=base" \
197195 --build-arg "ARG_PROFILE_JULIA=base"
198- push_image data-science-stack
199196
200197 job-full-stack :
201198 name : ' full-stack'
@@ -213,26 +210,6 @@ jobs:
213210 --build-arg "ARG_PROFILE_JULIA=base" \
214211 --build-arg "ARG_PROFILE_GO=base" \
215212 --build-arg "ARG_PROFILE_RUST=base"
216- push_image full-stack
217-
218- # # Postgres
219- job-postgres :
220- name : ' postgres-17,postgres-16,postgres-15'
221- needs : ["job-base"]
222- runs-on : ubuntu-latest
223- steps :
224- - uses : actions/checkout@v4
225- - run : |
226- source ./tool.sh
227- build_image_no_tag postgres-17 latest docker_atom/Dockerfile --build-arg "BASE_IMG=postgres:17"
228- build_image_no_tag postgres-16 latest docker_atom/Dockerfile --build-arg "BASE_IMG=postgres:16"
229- build_image_no_tag postgres-15 latest docker_atom/Dockerfile --build-arg "BASE_IMG=postgres:15"
230-
231- export IMG_PREFIX_SRC="${IMG_PREFIX_DST}"
232- build_image postgres-17 latest docker_base/Dockerfile --build-arg "BASE_IMG=postgres-17" --build-arg "PYTHON_VERSION=3.12"
233- build_image postgres-16 latest docker_base/Dockerfile --build-arg "BASE_IMG=postgres-16" --build-arg "PYTHON_VERSION=3.12"
234- build_image postgres-15 latest docker_base/Dockerfile --build-arg "BASE_IMG=postgres-15" --build-arg "PYTHON_VERSION=3.12"
235- push_image postgres-
236213
237214 # # DockerKit - including image-syncer and docker-compsoe
238215 job-docker_kit :
@@ -245,7 +222,7 @@ jobs:
245222 AUTH_FILE_CONTENT : ${{ secrets.AUTH_FILE_CONTENT }}
246223 DOCKER_MIRROR_REGISTRY : ${{ vars.DOCKER_MIRROR_REGISTRY }}
247224 run : |
248- source ./tool.sh && build_image docker-kit latest docker_docker_kit/Dockerfile && push_image docker-kit
225+ source ./tool.sh && build_image docker-kit latest docker_docker_kit/Dockerfile
249226 echo "jobs: { job-docker_kit: { name: 'docker-kit' } }" | tee ".github/workflows/build-docker.yml" > /dev/null
250227 printf '%s' "$AUTH_FILE_CONTENT" > .github/workflows/auth.json && ls -alh ./.github/workflows
251228 printenv | grep -v 'PATH' > /tmp/docker.env && echo "REGISTRY_URL=${REGISTRY_DST}" >> /tmp/docker.env
@@ -254,7 +231,7 @@ jobs:
254231
255232 # # Sync all images in this build (listed by "names") to mirror registry.
256233 sync_images :
257- needs : ["job-docker_kit", "job-postgres", "job- full-stack", "job-core"]
234+ needs : ["job-docker_kit", "job-full-stack", "job-core"]
258235 runs-on : ubuntu-latest
259236 steps :
260237 - uses : actions/checkout@v4
0 commit comments