11
11
jobs :
12
12
build :
13
13
runs-on : ubuntu-latest
14
+ outputs :
15
+ digest : ${{ steps.build_push.outputs.digest }}
14
16
steps :
15
17
- name : Check out CourtListener
16
18
uses : actions/checkout@v4
@@ -20,12 +22,22 @@ jobs:
20
22
# Build docker image
21
23
- name : Set up docker Buildx
22
24
uses : docker/setup-buildx-action@v3
25
+ - name : Collect docker metadata
26
+ id : meta
27
+ uses : docker/metadata-action@v5
28
+ with :
29
+ images : |
30
+ courtlistener
31
+ flavor : |
32
+ latest=false
23
33
- name : Build docker image
34
+ id : build_push
24
35
uses : docker/build-push-action@v6
25
36
with :
26
37
context : ./courtlistener
27
38
file : ./courtlistener/docker/django/Dockerfile
28
- tags : courtlistener:latest
39
+ tags : ${{ steps.meta.outputs.tags }}
40
+ labels : ${{ steps.meta.outputs.labels }}
29
41
outputs : type=docker,dest=/tmp/courtlistener.tar
30
42
build-args : |
31
43
BUILD_ENV=dev
@@ -111,7 +123,7 @@ jobs:
111
123
- name : Start docker containers
112
124
working-directory : courtlistener/docker/courtlistener
113
125
run : > # don't build, rather use loaded image from build step, specified by merging overriding config
114
- docker compose -f docker-compose.yml -f docker-compose.tmpfs.yml -f <(echo 'services: { cl-django: { image: "courtlistener:latest " }, cl-celery: { image: "courtlistener:latest " } }') up -d --no-build --pull=never
126
+ docker compose -f docker-compose.yml -f docker-compose.tmpfs.yml -f <(echo 'services: { cl-django: { image: "courtlistener@${{ needs.build.outputs.digest }} " }, cl-celery: { image: "courtlistener@${{ needs.build.outputs.digest }} " } }') up -d --no-build --pull=never
115
127
- name : List docker containers
116
128
run : docker ps -a --no-trunc
117
129
- name : Show the docker startup logs
0 commit comments