11name : Build Docker Images
2-
32on :
43 push :
54 branches :
1716 paths :
1817 - " backend/**"
1918 - " .github/workflows/docker_build.yml"
20-
2119env :
2220 REGISTRY : ghcr.io
2321 IMAGE_NAME : ${{ github.repository }}
2422
2523jobs :
26- build-api-image :
27- runs-on : ubuntu-latest
24+ build-and-push- api-image :
25+ runs-on : ubuntu-24.04
2826 permissions :
2927 contents : read
3028 packages : write
31- actions : write
3229 steps :
3330 - name : Remove unnecessary files
3431 run : |
@@ -48,10 +45,15 @@ jobs:
4845 id : meta_api
4946 uses : docker/metadata-action@v5
5047 with :
51- images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}_api
48+ images : ${{ env.REGISTRY }}/${{ github.repository_owner }}/fair-api
49+ tags : |
50+ type=ref,event=branch
51+ type=ref,event=tag
52+ type=semver,pattern={{version}}
53+ type=semver,pattern={{major}}.{{minor}}
5254
5355 - name : Set up Docker Buildx
54- uses : docker/setup-buildx-action@v3
56+ uses : docker/setup-buildx-action@v2
5557
5658 - name : Build and push API Docker image
5759 uses : docker/build-push-action@v6
@@ -65,16 +67,15 @@ jobs:
6567 cache-to : type=gha,mode=max,scope=api,timeout=20m,ignore-error=true
6668 github-token : ${{ secrets.GITHUB_TOKEN }}
6769
68- build-worker-image :
69- needs : build-api-image
70- runs-on : ubuntu-latest
70+ build-and-push- worker-image :
71+ needs : build-and-push- api-image
72+ runs-on : ubuntu-24.04
7173 strategy :
7274 matrix :
7375 build_type : [cpu, gpu]
7476 permissions :
7577 contents : read
7678 packages : write
77- actions : write
7879 steps :
7980 - name : Remove unnecessary files
8081 run : |
@@ -94,13 +95,15 @@ jobs:
9495 id : meta_worker
9596 uses : docker/metadata-action@v5
9697 with :
97- images : |
98- ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}_worker
98+ images : ${{ env.REGISTRY }}/${{ github.repository_owner }}/fair-worker
9999 tags : |
100- type=raw,value=latest-${{ matrix.build_type }}
100+ type=ref,event=branch,suffix=-${{ matrix.build_type }}
101+ type=ref,event=tag,suffix=-${{ matrix.build_type }}
102+ type=semver,pattern={{version}},suffix=-${{ matrix.build_type }}
103+ type=semver,pattern={{major}}.{{minor}},suffix=-${{ matrix.build_type }}
101104
102105 - name : Set up Docker Buildx
103- uses : docker/setup-buildx-action@v3
106+ uses : docker/setup-buildx-action@v2
104107
105108 - name : Build and push Worker Docker image (${{ matrix.build_type }})
106109 uses : docker/build-push-action@v6
@@ -116,13 +119,12 @@ jobs:
116119 cache-to : type=gha,mode=min,scope=docker-worker-${{ matrix.build_type }},timeout=20m,ignore-error=true
117120 github-token : ${{ secrets.GITHUB_TOKEN }}
118121
119- build-offline-predictor-image :
122+ build-and-push- offline-predictor-image :
120123 runs-on : ubuntu-24.04
121- needs : build-api-image
124+ needs : build-and-push- api-image
122125 permissions :
123126 contents : read
124127 packages : write
125- actions : write
126128 steps :
127129 - name : Remove unnecessary files
128130 run : |
@@ -142,7 +144,12 @@ jobs:
142144 id : meta_offline_predictor
143145 uses : docker/metadata-action@v5
144146 with :
145- images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}_offline_predictor
147+ images : ${{ env.REGISTRY }}/${{ github.repository_owner }}/fair-offline-predictor
148+ tags : |
149+ type=ref,event=branch
150+ type=ref,event=tag
151+ type=semver,pattern={{version}}
152+ type=semver,pattern={{major}}.{{minor}}
146153
147154 - name : Set up Docker Buildx
148155 uses : docker/setup-buildx-action@v2
0 commit comments