2
0

build(docker): 👷 Build images on push

This commit is contained in:
Baptiste Arnaud
2022-05-31 07:28:40 +02:00
parent ff5c3683fc
commit 5e19f796cc

View File

@ -1,14 +1,11 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Publish Docker images
on:
push:
tags:
- 'v*.*.*'
branches: [main]
tags: ['v*']
pull_request:
branches: [main]
jobs:
push_images_to_docker_hub:
@ -17,11 +14,32 @@ jobs:
steps:
- name: Check out the repo
uses: actions/checkout@v3
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Extract Builder meta
id: builder-meta
uses: docker/metadata-action@v4
with:
images: baptistearno/typebot-builder
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
- name: Extract Viewer meta
id: viewer-meta
uses: docker/metadata-action@v4
with:
images: baptistearno/typebot-viewer
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
- name: Log in to Docker Hub
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
@ -30,10 +48,9 @@ jobs:
uses: docker/build-push-action@v3
with:
context: .
push: true
tags: |
baptistearno/typebot-builder:latest
baptistearno/typebot-builder:${{ env.RELEASE_VERSION }}
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.builder-meta.outputs.tags }}
labels: ${{ steps.builder-meta.outputs.labels }}
build-args: |
SCOPE=builder
@ -41,9 +58,8 @@ jobs:
uses: docker/build-push-action@v3
with:
context: .
push: true
tags: |
baptistearno/typebot-viewer:latest
baptistearno/typebot-viewer:${{ env.RELEASE_VERSION }}
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.viewer-meta.outputs.tags }}
labels: ${{ steps.viewer-meta.outputs.labels }}
build-args: |
SCOPE=viewer