Skip to content

Commit 9732893

Browse files
committed
Progress towards supporting multiple platforms
1 parent 40c0a92 commit 9732893

File tree

8 files changed

+33
-54
lines changed

8 files changed

+33
-54
lines changed

.github/workflows/docker-build.yml

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,26 +26,11 @@ jobs:
2626

2727
- name: Set up Docker Buildx
2828
uses: docker/setup-buildx-action@v1
29-
with:
30-
# This defaults to "docker-containerized".
31-
# We want to share the vws-mock:base image to the building of the
32-
# later builds, without pushing to a registry.
33-
#
34-
# Therefore, we choose not to build in a container.
35-
driver: docker
36-
37-
- name: Build base Docker image
38-
uses: docker/[email protected]
39-
with:
40-
buildkitd-flags: --debug
41-
file: src/mock_vws/_flask_server/dockerfiles/base/Dockerfile
42-
push: false
43-
tags: |
44-
vws-mock:base
4529

4630
- name: Build target manager Docker image
4731
uses: docker/[email protected]
4832
with:
33+
platforms: linux/amd64,linux/arm64
4934
file: src/mock_vws/_flask_server/dockerfiles/target_manager/Dockerfile
5035
push: false
5136
tags: |
@@ -54,6 +39,7 @@ jobs:
5439
- name: Build VWS Docker image
5540
uses: docker/[email protected]
5641
with:
42+
platforms: linux/amd64,linux/arm64
5743
file: src/mock_vws/_flask_server/dockerfiles/vws/Dockerfile
5844
push: false
5945
tags: |
@@ -62,6 +48,7 @@ jobs:
6248
- name: Build VWQ Docker image
6349
uses: docker/[email protected]
6450
with:
51+
platforms: linux/amd64,linux/arm64
6552
file: src/mock_vws/_flask_server/dockerfiles/vwq/Dockerfile
6653
push: false
6754
tags: |

.github/workflows/release.yml

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -83,21 +83,6 @@ jobs:
8383

8484
- name: Set up Docker Buildx
8585
uses: docker/setup-buildx-action@v1
86-
with:
87-
# This defaults to "docker-containerized".
88-
# We want to share the vws-mock:base image to the building of the
89-
# later builds, without pushing to a registry.
90-
#
91-
# Therefore, we choose not to build in a container.
92-
driver: docker
93-
94-
- name: Build base Docker image
95-
uses: docker/[email protected]
96-
with:
97-
file: src/mock_vws/_flask_server/dockerfiles/base/Dockerfile
98-
push: false
99-
tags: |
100-
vws-mock:base
10186

10287
- name: Build and push target manager Docker image
10388
uses: docker/[email protected]

docs/source/docker.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,10 @@ Building images from source
138138
export VWS_DOCKERFILE=$DOCKERFILE_DIR/vws/Dockerfile
139139
export VWQ_DOCKERFILE=$DOCKERFILE_DIR/vwq/Dockerfile
140140

141-
export BASE_TAG=vws-mock:base
142141
export TARGET_MANAGER_TAG=adamtheturtle/vuforia-target-manager-mock:latest
143142
export VWS_TAG=adamtheturtle/vuforia-vws-mock:latest
144143
export VWQ_TAG=adamtheturtle/vuforia-vwq-mock:latest
145144

146-
docker buildx build $REPOSITORY_ROOT --file $BASE_DOCKERFILE --tag $BASE_TAG
147145
docker buildx build $REPOSITORY_ROOT --file $TARGET_MANAGER_DOCKERFILE --tag $TARGET_MANAGER_TAG
148146
docker buildx build $REPOSITORY_ROOT --file $VWS_DOCKERFILE --tag $VWS_TAG
149147
docker buildx build $REPOSITORY_ROOT --file $VWQ_DOCKERFILE --tag $VWQ_TAG

src/mock_vws/_flask_server/dockerfiles/base/Dockerfile

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,10 @@
1-
FROM vws-mock:base
1+
FROM python:3.9.1-slim-buster
2+
RUN apt update --yes
3+
# git is needed for setuptools-scm.
4+
RUN apt install --yes git
5+
COPY . /app
6+
WORKDIR /app
7+
RUN pip install .
8+
EXPOSE 5000
9+
ENTRYPOINT ["python"]
210
CMD ["src/mock_vws/_flask_server/target_manager.py"]
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,10 @@
1-
FROM vws-mock:base
1+
FROM python:3.9.1-slim-buster
2+
RUN apt update --yes
3+
# git is needed for setuptools-scm.
4+
RUN apt install --yes git
5+
COPY . /app
6+
WORKDIR /app
7+
RUN pip install .
8+
EXPOSE 5000
9+
ENTRYPOINT ["python"]
210
CMD ["src/mock_vws/_flask_server/vwq.py"]
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,10 @@
1-
FROM vws-mock:base
1+
FROM python:3.9.1-slim-buster
2+
RUN apt update --yes
3+
# git is needed for setuptools-scm.
4+
RUN apt install --yes git
5+
COPY . /app
6+
WORKDIR /app
7+
RUN pip install .
8+
EXPOSE 5000
9+
ENTRYPOINT ["python"]
210
CMD ["src/mock_vws/_flask_server/vws.py"]

tests/mock_vws/test_docker.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,15 @@ def test_build_and_run(
6666
vwq_dockerfile = dockerfile_dir / 'vwq' / 'Dockerfile'
6767

6868
random = uuid.uuid4().hex
69-
base_tag = 'vws-mock:base'
7069
target_manager_tag = 'vws-mock-target-manager:latest-' + random
7170
vws_tag = 'vws-mock-vws:latest-' + random
7271
vwq_tag = 'vws-mock-vwq:latest-' + random
7372

7473
try:
75-
client.images.build(
74+
target_manager_image, _ = client.images.build(
7675
path=str(repository_root),
77-
dockerfile=str(base_dockerfile),
78-
tag=base_tag,
76+
dockerfile=str(target_manager_dockerfile),
77+
tag=target_manager_tag,
7978
)
8079
except docker.errors.BuildError as exc:
8180
full_log = '\n'.join(
@@ -87,11 +86,6 @@ def test_build_and_run(
8786
reason = 'We do not currently support using Windows containers.'
8887
pytest.skip(reason)
8988

90-
target_manager_image, _ = client.images.build(
91-
path=str(repository_root),
92-
dockerfile=str(target_manager_dockerfile),
93-
tag=target_manager_tag,
94-
)
9589
vws_image, _ = client.images.build(
9690
path=str(repository_root),
9791
dockerfile=str(vws_dockerfile),

0 commit comments

Comments
 (0)