Skip to content

chore: use desecriptive badges for redeploy dialog #63

chore: use desecriptive badges for redeploy dialog

chore: use desecriptive badges for redeploy dialog #63

Workflow file for this run

name: Release
on:
push:
branches:
- main
permissions:
contents: write
pull-requests: write
packages: write
env:
IMAGE_PREFIX: ${{ github.repository_owner }}
jobs:
release:
name: Release
runs-on: ubuntu-latest
outputs:
release_created: ${{ steps.semantic-release.outputs.release_created }}
tag_name: ${{ steps.semantic-release.outputs.tag_name }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Release
id: semantic-release
uses: googleapis/release-please-action@v4
with:
release-type: simple
token: ${{ secrets.GH_TOKEN }}
build-images:
name: Build Docker Images
runs-on: ubuntu-latest
needs: release
if: ${{ needs.release.outputs.release_created == 'true' }}
strategy:
matrix:
include:
- name: api
context: apps/api
dockerfile: apps/api/Dockerfile
- name: web
context: apps/web
dockerfile: apps/web/Dockerfile
- name: workspace-engine
context: apps/workspace-engine
dockerfile: apps/workspace-engine/Dockerfile
- name: workspace-engine-router
context: apps/workspace-engine-router
dockerfile: apps/workspace-engine-router/Dockerfile
- name: relay
context: apps/relay
dockerfile: apps/relay/Dockerfile
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.IMAGE_PREFIX }}/${{ matrix.name }}
tags: |
type=semver,pattern={{version}},value=${{ needs.release.outputs.tag_name }}
type=semver,pattern={{major}}.{{minor}},value=${{ needs.release.outputs.tag_name }}
type=semver,pattern={{major}},value=${{ needs.release.outputs.tag_name }}
type=raw,value=latest
- name: Build and push
uses: docker/build-push-action@v5
with:
context: ${{ matrix.context }}
file: ${{ matrix.dockerfile }}
push: true
tags: ${{ steps.meta.outputs.tags }}
cache-from: type=gha
cache-to: type=gha,mode=max