Skip to content

Commit e020fa2

Browse files
committed
Test Docker build with single target
1 parent 8f85512 commit e020fa2

File tree

2 files changed

+80
-6
lines changed

2 files changed

+80
-6
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Docker Publish
2+
3+
on:
4+
push:
5+
branches: [ github-actions ]
6+
tags: [ 'v*' ]
7+
env:
8+
GCP_ARTIFACT_HOST: ${{ vars.SHARED_WIF_LOCATON }}-docker.pkg.dev
9+
GCP_REGISTRY: ${{ vars.SHARED_WIF_LOCATON }}-docker.pkg.dev/${{ vars.SHARED_WIF_PROJECT }}/${{ vars.SHARED_WIF_REPO }}
10+
GCP_BEI_REGISTRY: ${{ vars.SHARED_WIF_LOCATON }}-docker.pkg.dev/${{ vars.SHARED_WIF_PROJECT }}/bei
11+
12+
jobs:
13+
docker-publish:
14+
runs-on: ubuntu-latest
15+
permissions:
16+
id-token: write
17+
contents: read
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@v4
21+
22+
- name: Google Auth
23+
id: 'auth'
24+
uses: 'google-github-actions/auth@v2'
25+
with:
26+
workload_identity_provider: "${{ vars.SHARED_WIF_PROVIDER }}"
27+
service_account: "${{ vars.SHARED_WIF_SERVICE_ACCOUNT }}"
28+
token_format: 'access_token'
29+
30+
- name: Docker Login
31+
uses: 'docker/login-action@v3'
32+
with:
33+
registry: ${{ env.GCP_ARTIFACT_HOST }}
34+
username: 'oauth2accesstoken'
35+
password: ${{ steps.auth.outputs.access_token }}
36+
37+
- name: Docker Buildx Setup
38+
uses: docker/setup-buildx-action@v3
39+
40+
- name: Docker Metadata
41+
id: meta
42+
uses: docker/metadata-action@v5
43+
with:
44+
images: ${{ env.GCP_REGISTRY }}/__service__
45+
tags: |
46+
type=raw,value=v-latest
47+
type=ref,event=tag
48+
type=sha
49+
flavor: |
50+
latest=false
51+
52+
- name: Docker Build
53+
uses: docker/bake-action@v6
54+
env:
55+
REPO: ${{ env.GCP_BEI_REGISTRY }}
56+
with:
57+
source: .
58+
targets: |
59+
portal-data-availability
60+
#portal-data-product-detail
61+
#portal-explore-data-products
62+
#portal-prototype-data
63+
#portal-samples
64+
#portal-taxon
65+
files: |
66+
./docker-bake.hcl
67+
${{ steps.meta.outputs.bake-file }}
68+
push: false

docker-bake.hcl

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,10 @@ target "base" {
5656
target "portal-data-availability" {
5757
inherits = ["bootstrap", "docker-metadata-action"]
5858
args = {
59+
DOCKER_META_IMAGES = replace (target.docker-metadata-action.args.DOCKER_META_IMAGES, "__service__", "portal-react-data-availability")
5960
YARN_VERSION = "${YARN_VERSION}"
6061
}
61-
tags = [for tag in target.docker-metadata-action.tags : tag]
62+
tags = [for tag in target.docker-metadata-action.tags : replace(tag, "__service__", "portal-react-data-availability")]
6263
dockerfile = "apps/data-availability/bake.Dockerfile"
6364
contexts = {
6465
"portal-react-apps-parent:latest-builder-base" = "target:base"
@@ -70,9 +71,10 @@ target "portal-data-availability" {
7071
target "portal-data-product-detail" {
7172
inherits = ["bootstrap", "docker-metadata-action"]
7273
args = {
74+
DOCKER_META_IMAGES = replace (target.docker-metadata-action.args.DOCKER_META_IMAGES, "__service__", "portal-react-data-products")
7375
YARN_VERSION = "${YARN_VERSION}"
7476
}
75-
tags = [for tag in target.docker-metadata-action.tags : tag]
77+
tags = [for tag in target.docker-metadata-action.tags : replace(tag, "__service__", "portal-react-data-products")]
7678
dockerfile = "apps/data-product-detail/bake.Dockerfile"
7779
contexts = {
7880
"portal-react-apps-parent:latest-builder-base" = "target:base"
@@ -84,9 +86,10 @@ target "portal-data-product-detail" {
8486
target "portal-explore-data-products" {
8587
inherits = ["bootstrap", "docker-metadata-action"]
8688
args = {
89+
DOCKER_META_IMAGES = replace (target.docker-metadata-action.args.DOCKER_META_IMAGES, "__service__", "portal-react-browse")
8790
YARN_VERSION = "${YARN_VERSION}"
8891
}
89-
tags = [for tag in target.docker-metadata-action.tags : tag]
92+
tags = [for tag in target.docker-metadata-action.tags : replace(tag, "__service__", "portal-react-browse")]
9093
dockerfile = "apps/explore-data-products/bake.Dockerfile"
9194
contexts = {
9295
"portal-react-apps-parent:latest-builder-base" = "target:base"
@@ -98,9 +101,10 @@ target "portal-explore-data-products" {
98101
target "portal-prototype-data" {
99102
inherits = ["bootstrap", "docker-metadata-action"]
100103
args = {
104+
DOCKER_META_IMAGES = replace (target.docker-metadata-action.args.DOCKER_META_IMAGES, "__service__", "portal-react-prototype-data")
101105
YARN_VERSION = "${YARN_VERSION}"
102106
}
103-
tags = [for tag in target.docker-metadata-action.tags : tag]
107+
tags = [for tag in target.docker-metadata-action.tags : replace(tag, "__service__", "portal-react-prototype-data")]
104108
dockerfile = "apps/prototype-data/bake.Dockerfile"
105109
contexts = {
106110
"portal-react-apps-parent:latest-builder-base" = "target:base"
@@ -112,9 +116,10 @@ target "portal-prototype-data" {
112116
target "portal-samples" {
113117
inherits = ["bootstrap", "docker-metadata-action"]
114118
args = {
119+
DOCKER_META_IMAGES = replace (target.docker-metadata-action.args.DOCKER_META_IMAGES, "__service__", "portal-react-samples")
115120
YARN_VERSION = "${YARN_VERSION}"
116121
}
117-
tags = [for tag in target.docker-metadata-action.tags : tag]
122+
tags = [for tag in target.docker-metadata-action.tags : replace(tag, "__service__", "portal-react-samples")]
118123
dockerfile = "apps/sample-explorer/bake.Dockerfile"
119124
contexts = {
120125
"portal-react-apps-parent:latest-builder-base" = "target:base"
@@ -126,9 +131,10 @@ target "portal-samples" {
126131
target "portal-taxon" {
127132
inherits = ["bootstrap", "docker-metadata-action"]
128133
args = {
134+
DOCKER_META_IMAGES = replace (target.docker-metadata-action.args.DOCKER_META_IMAGES, "__service__", "portal-react-taxon")
129135
YARN_VERSION = "${YARN_VERSION}"
130136
}
131-
tags = [for tag in target.docker-metadata-action.tags : tag]
137+
tags = [for tag in target.docker-metadata-action.tags : replace(tag, "__service__", "portal-react-taxon")]
132138
dockerfile = "apps/taxonomic-lists/bake.Dockerfile"
133139
contexts = {
134140
"portal-react-apps-parent:latest-builder-base" = "target:base"

0 commit comments

Comments
 (0)