@@ -19,7 +19,17 @@ executors:
1919 username : $DOCKER_USERNAME
2020 password : $DOCKER_PASSWORD
2121 << : *resource_class
22- << : *work_directory
22+ << : *work_directory
23+ machine-executor :
24+ machine :
25+ image : ubuntu-2204:2023.04.2
26+ resource_class : medium
27+ << : *work_directory
28+ arm-executor :
29+ machine :
30+ image : ubuntu-2004:2022.04.1
31+ resource_class : arm.medium
32+ << : *work_directory
2333
2434version : 2.1
2535jobs :
2838 steps :
2939 - checkout
3040 - setup_remote_docker
31- - run : docker build .
41+ - run : |
42+ docker buildx create --name rockbuilder \
43+ --driver docker-container --use --bootstrap
44+ docker buildx build \
45+ --platform linux/amd64,linux/arm64 .
3246
3347 publish :
3448 executor : docker-executor
@@ -37,15 +51,17 @@ jobs:
3751 - setup_remote_docker
3852 - run : |
3953 TAG=${CIRCLE_SHA1:0:8}
40- docker build -t devatherock/minify-js:$TAG .
41- docker tag devatherock/minify-js:$TAG devatherock/minify-js:latest
42- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
43- docker push devatherock/minify-js:$TAG
44- docker push devatherock/minify-js:latest
54+ echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin
55+ docker buildx create --name rockbuilder \
56+ --driver docker-container --use --bootstrap
57+ docker buildx build \
58+ --platform linux/amd64,linux/arm64 \
59+ --push \
60+ -t devatherock/minify-js:$TAG \
61+ -t devatherock/minify-js:latest .
4562
4663 dockerhub_readme :
47- machine :
48- image : ubuntu-2204:2023.04.2
64+ executor : machine-executor
4965 steps :
5066 - checkout
5167 - run : |
5874 peterevans/dockerhub-description:3.4.1
5975
6076 functional_test :
61- machine :
62- image : ubuntu-2004:202010-01
77+ parameters :
78+ runner :
79+ type : executor
80+ executor : << parameters.runner >>
6381 steps :
6482 - checkout
6583 - attach_workspace :
@@ -85,10 +103,11 @@ jobs:
85103 - run : |
86104 TAG=${CIRCLE_TAG#v}
87105 DEV_TAG=${CIRCLE_SHA1:0:8}
88- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
89- docker pull devatherock/minify-js:$DEV_TAG
90- docker tag devatherock/minify-js:$DEV_TAG devatherock/minify-js:$TAG
91- docker push devatherock/minify-js:$TAG
106+ echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin
107+ docker buildx create --name rockbuilder \
108+ --driver docker-container --use --bootstrap
109+ docker buildx imagetools create \
110+ -t devatherock/minify-js:$TAG devatherock/minify-js:$DEV_TAG
92111
93112 notify :
94113 << : *slack_image
@@ -118,16 +137,26 @@ workflows:
118137 requires :
119138 - publish
120139 - functional_test :
140+ name : functional_test_amd
141+ context :
142+ - docker-credentials
143+ runner : machine-executor
144+ requires :
145+ - publish
146+ - functional_test :
147+ name : functional_test_arm
121148 context :
122149 - docker-credentials
150+ runner : arm-executor
123151 requires :
124152 - dockerhub_readme
125153 - notify :
126154 context :
127155 - docker-credentials
128156 - slack-webhook
129157 requires :
130- - functional_test
158+ - functional_test_amd
159+ - functional_test_arm
131160
132161 release :
133162 jobs :
0 commit comments