Skip to content

Merge to Main

Merge to Main #110

Workflow file for this run

name: Merge to Main
on:
workflow_run:
workflows: [Pull Request Closed]
types: [completed]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true
jobs:
semantic-version:
outputs:
semanticVersion: ${{ steps.changelog.outputs.version }}
tag: ${{ steps.changelog.outputs.tag }}
clean_changelog: ${{ steps.changelog.outputs.clean_changelog }}
runs-on: ubuntu-24.04
timeout-minutes: 1
steps:
- uses: actions/checkout@v4
- name: Conventional Changelog Update
uses: TriPSs/[email protected]
id: changelog
with:
github-token: ${{ github.token }}
output-file: 'CHANGELOG.md'
skip-version-file: 'true'
skip-commit: 'true'
skip-on-empty: 'false'
git-push: 'true'
retag-images:
needs: [ semantic-version ]
runs-on: ubuntu-24.04
strategy:
matrix:
package: [ api, database, frontend ]
steps:
- name: Tag Docker Images
uses: shrink/actions-docker-registry-tag@v4
with:
registry: ghcr.io
repository: ${{ github.repository }}/${{ matrix.package }}
target: latest
tags: ${{ needs.semantic-version.outputs.semanticVersion }}
deploys:
name: TEST Deployments
needs: [retag-images, semantic-version]
uses: ./.github/workflows/.deploy.yml
secrets: inherit
with:
autoscaling: true
environment: test
tag: ${{ needs.semantic-version.outputs.semanticVersion }}
release_name: pubcode-test
params: |
--set-string api.containers[0].tag="${{ needs.semantic-version.outputs.semanticVersion }}" \
--set-string frontend.containers[0].tag="${{ needs.semantic-version.outputs.semanticVersion }}" \
--set-string namespace="${{ vars.oc_namespace }}" \
tests:
name: Tests
needs: [deploys]
uses: ./.github/workflows/.tests.yml
with:
target: test
deploys-prod:
name: PROD Deployments
needs: [semantic-version, tests]
uses: ./.github/workflows/.deploy.yml
secrets: inherit
with:
autoscaling: true
environment: prod
tag: ${{ needs.semantic-version.outputs.semanticVersion }}
release_name: pubcode
params: |
--set-string api.containers[0].tag="${{ needs.semantic-version.outputs.semanticVersion }}" \
--set-string frontend.containers[0].tag="${{ needs.semantic-version.outputs.semanticVersion }}" \
--set-string namespace="${{ vars.oc_namespace }}" \
github_release:
name: Create Release
needs: [semantic-version, deploys-prod]
runs-on: ubuntu-24.04
steps:
- name: Create Release
uses: softprops/action-gh-release@v2
continue-on-error: true
env:
GITHUB_TOKEN: ${{ github.token }}
with:
token: ${{ github.token }}
tag_name: ${{ needs.semantic-version.outputs.tag }}
name: ${{ needs.semantic-version.outputs.tag }}
body: ${{ needs.semantic-version.outputs.clean_changelog }}