Skip to content

Commit ff11eae

Browse files
committed
ci: cache test DB docker image to skip ghcr pull on master
1 parent 6e452bd commit ff11eae

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,29 @@ jobs:
3939
- name: Caching
4040
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 #7.0.0
4141

42+
- name: Cache test DB image
43+
id: dbimage
44+
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae #5.0.5
45+
with:
46+
path: ~/.docker-image-cache/db.tar
47+
key: docker-image-test-db-${{ hashFiles('src/test/resources/docker-compose.yml') }}
48+
49+
- name: Load cached image
50+
if: steps.dbimage.outputs.cache-hit == 'true'
51+
run: docker load -i ~/.docker-image-cache/db.tar
52+
53+
- name: Pull image (non-master)
54+
if: steps.dbimage.outputs.cache-hit != 'true' && github.ref != 'refs/heads/master'
55+
run: docker compose -f src/test/resources/docker-compose.yml pull
56+
57+
- name: Pull & save image (master)
58+
if: steps.dbimage.outputs.cache-hit != 'true' && github.ref == 'refs/heads/master'
59+
run: |
60+
mkdir -p ~/.docker-image-cache
61+
docker compose -f src/test/resources/docker-compose.yml pull
62+
docker save $(docker compose -f src/test/resources/docker-compose.yml config --images) \
63+
-o ~/.docker-image-cache/db.tar
64+
4265
- name: Create log file
4366
working-directory: .
4467
# Workaround for suddenly happen permission denied

0 commit comments

Comments
 (0)