Skip to content

Commit 944176b

Browse files
authored
Merge pull request #8 from devatherock/multi-arch
feat: Built a multi-arch docker image
2 parents ae8f585 + 765e3b3 commit 944176b

2 files changed

Lines changed: 46 additions & 16 deletions

File tree

.circleci/config.yml

Lines changed: 45 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

2434
version: 2.1
2535
jobs:
@@ -28,7 +38,11 @@ jobs:
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: |
@@ -58,8 +74,10 @@ jobs:
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:

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## [Unreleased]
44
### Changed
55
- Updated dockerhub readme in CI pipeline
6+
- [#7](https://github.com/devatherock/minify-js/issues/7): Built a multi-arch docker image
67

78
## [1.0.3] - 2021-10-27
89
### Added

0 commit comments

Comments
 (0)