Skip to content

Commit 7eb9cd3

Browse files
authored
chore: use bind mount for buildcache instead of copy step (#439)
* chore: use bind mount for buildcache instead of copy step
1 parent 505d851 commit 7eb9cd3

File tree

4 files changed

+22
-5
lines changed

4 files changed

+22
-5
lines changed

.github/workflows/dockerhub-release.yml

+18-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ jobs:
2929
outputs:
3030
image_digest: ${{ steps.build.outputs.digest }}
3131
steps:
32+
- uses: actions/checkout@v3
33+
3234
- id: meta
3335
uses: docker/metadata-action@v4
3436
with:
@@ -41,7 +43,6 @@ jobs:
4143
run: |
4244
docker context create builders
4345
44-
4546
- uses: docker/setup-buildx-action@v2
4647
with:
4748
endpoint: builders
@@ -51,6 +52,14 @@ jobs:
5152
username: ${{ secrets.DOCKER_USERNAME }}
5253
password: ${{ secrets.DOCKER_PASSWORD }}
5354

55+
- id: copy-cache
56+
name: Copy Buildcache
57+
run: |
58+
docker rm -f buildcache
59+
docker create --name buildcache public.ecr.aws/t3w2s2c9/postgres-buildcache:latest ls
60+
docker cp buildcache:/ccache/. ./docker/cache
61+
docker rm -f buildcache
62+
5463
- id: build
5564
uses: docker/build-push-action@v3
5665
with:
@@ -94,6 +103,14 @@ jobs:
94103
username: ${{ secrets.DOCKER_USERNAME }}
95104
password: ${{ secrets.DOCKER_PASSWORD }}
96105

106+
- id: copy-cache
107+
name: Copy Buildcache
108+
run: |
109+
docker rm -f buildcache
110+
docker create --name buildcache public.ecr.aws/t3w2s2c9/postgres-buildcache:latest ls
111+
docker cp buildcache:/ccache/. ./docker/cache/
112+
docker rm -f buildcache
113+
97114
- uses: docker/setup-buildx-action@v2
98115
with:
99116
driver: docker

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
.python-version
33
venv/
44
*.swp
5+
docker/cache/

Dockerfile

+3-4
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,8 @@ RUN apt update && \
1414
apt install -y ansible sudo git ccache && \
1515
apt -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
1616

17-
COPY --from=public.ecr.aws/t3w2s2c9/postgres-buildcache:latest /ccache/ /ccache/
18-
19-
RUN ccache -s && \
17+
RUN --mount=type=bind,source=docker/cache,target=/ccache,rw \
18+
ccache -s && \
2019
cd /tmp/ansible && \
2120
ansible-playbook -e '{"async_mode": false}' playbook-docker.yml && \
2221
apt -y autoremove && \
@@ -25,7 +24,7 @@ RUN ccache -s && \
2524
apt install -y default-jdk-headless locales && \
2625
sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
2726
locale-gen && \
28-
rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* /ccache
27+
rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/*
2928

3029
ENV LANGUAGE en_US.UTF-8
3130
ENV LANG en_US.UTF-8

docker/cache/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)