All checks were successful
Auto Tag on Merge to Main / auto-tag (push) Successful in 4s
CI - Lint and Build / lint-backend (push) Successful in 18s
CI - Lint and Build / lint-frontend (push) Successful in 13s
CI - Lint and Build / build-frontend (push) Successful in 15s
CI - Lint and Build / docker-build-test (push) Successful in 38s
78 lines
2.7 KiB
YAML
78 lines
2.7 KiB
YAML
name: Release - Build and Publish Docker Images
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*.*.*'
|
|
|
|
jobs:
|
|
build-and-publish:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Extract version from tag
|
|
id: version
|
|
run: |
|
|
VERSION=${GITHUB_REF#refs/tags/v}
|
|
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
echo "Building version: $VERSION"
|
|
|
|
- name: Get current date
|
|
id: date
|
|
run: echo "date=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Login to Gitea Container Registry
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: tea.millaguie.net
|
|
username: ${{ secrets.REGISTRY_USERNAME }}
|
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
|
|
|
- name: Build and push backend image
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
context: ./backend
|
|
push: true
|
|
build-args: |
|
|
APP_VERSION=${{ steps.version.outputs.version }}
|
|
BUILD_DATE=${{ steps.date.outputs.date }}
|
|
GIT_COMMIT=${{ github.sha }}
|
|
tags: |
|
|
tea.millaguie.net/millaguie/trenes-backend:${{ steps.version.outputs.version }}
|
|
tea.millaguie.net/millaguie/trenes-backend:latest
|
|
provenance: false
|
|
sbom: false
|
|
|
|
- name: Build and push frontend image
|
|
uses: docker/build-push-action@v5
|
|
with:
|
|
context: ./frontend
|
|
target: production
|
|
push: true
|
|
build-args: |
|
|
VITE_API_URL=${{ secrets.PROD_API_URL || 'https://trenes.millaguie.net/api' }}
|
|
VITE_WS_URL=${{ secrets.PROD_WS_URL || 'https://trenes.millaguie.net' }}
|
|
APP_VERSION=${{ steps.version.outputs.version }}
|
|
BUILD_DATE=${{ steps.date.outputs.date }}
|
|
GIT_COMMIT=${{ github.sha }}
|
|
tags: |
|
|
tea.millaguie.net/millaguie/trenes-frontend:${{ steps.version.outputs.version }}
|
|
tea.millaguie.net/millaguie/trenes-frontend:latest
|
|
provenance: false
|
|
sbom: false
|
|
|
|
- name: Summary
|
|
run: |
|
|
echo "### Docker Images Published" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "**Version:** ${{ steps.version.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
echo "**Images:**" >> $GITHUB_STEP_SUMMARY
|
|
echo "- tea.millaguie.net/millaguie/trenes-backend:${{ steps.version.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|
|
echo "- tea.millaguie.net/millaguie/trenes-frontend:${{ steps.version.outputs.version }}" >> $GITHUB_STEP_SUMMARY
|