59 lines
1.5 KiB
YAML
59 lines
1.5 KiB
YAML
name: Docker Prod Image CI
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- '*'
|
|
- '!**-beta'
|
|
- '!**-dev'
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repo
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v4
|
|
with:
|
|
driver: docker-container
|
|
|
|
- name: Docker meta for API
|
|
id: api-meta
|
|
uses: docker/metadata-action@v6
|
|
with:
|
|
images: line/abc-user-feedback-api
|
|
bake-target: api
|
|
tags: |
|
|
type=ref,event=branch
|
|
type=ref,event=tag
|
|
type=semver,pattern={{version}}
|
|
|
|
- name: Docker meta for Web
|
|
id: web-meta
|
|
uses: docker/metadata-action@v6
|
|
with:
|
|
images: line/abc-user-feedback-web
|
|
bake-target: web
|
|
tags: |
|
|
type=ref,event=branch
|
|
type=ref,event=tag
|
|
type=semver,pattern={{version}}
|
|
|
|
- name: Login to DockerHub
|
|
if: github.event_name != 'pull_request'
|
|
uses: docker/login-action@v4
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Bake and push multi-platform Docker images
|
|
uses: docker/bake-action@v7
|
|
with:
|
|
files: |
|
|
./docker/docker-bake.hcl
|
|
cwd://${{ steps.api-meta.outputs.bake-file }}
|
|
cwd://${{ steps.web-meta.outputs.bake-file }}
|
|
push: true
|