Skip to content

Merge branch 'master' of https://github.com/jonerrr/trainstatus #39

Merge branch 'master' of https://github.com/jonerrr/trainstatus

Merge branch 'master' of https://github.com/jonerrr/trainstatus #39

name: release-please
on:
push:
branches:
- master
permissions:
contents: write
issues: write
pull-requests: write
packages: write
concurrency:
group: release-please
cancel-in-progress: false
jobs:
release-please:
runs-on: ubuntu-latest
outputs:
release_created: ${{ steps.release.outputs.releases_created }}
version: ${{ steps.release.outputs['backend--version'] }} # versions will always be synced
steps:
- uses: googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38 # v4.4.0
id: release
with:
config-file: release-please-config.json
manifest-file: .release-please-manifest.json
target-branch: master
build-and-push:
needs:
- release-please
if: ${{ needs.release-please.outputs.release_created == 'true' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- component: backend
context: ./backend
dockerfile: ./backend/Dockerfile
image: ghcr.io/${{ github.repository_owner }}/trainstatus-backend
- component: frontend
context: .
dockerfile: ./frontend/Dockerfile
image: ghcr.io/${{ github.repository_owner }}/trainstatus-frontend
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Log in to GitHub Container Registry
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6
with:
images: ${{ matrix.image }}
tags: |
latest
${{ needs.release-please.outputs.version }}
- name: Build and push Docker image
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7
with:
context: ${{ matrix.context }}
file: ${{ matrix.dockerfile }}
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}