Skip to content

release

release #59

Workflow file for this run

name: release
on:
workflow_dispatch:
inputs:
module:
description: 'Module to release'
type: choice
required: true
options:
- matching-service
- dispatch-service
- handler-core
- dms-service
- invoice-service
- dipa-service
release-version:
description: 'Release version'
type: string
required: true
default: "X.Y.Z"
next-version:
description: "Next version to use after release"
type: string
required: true
default: "X.Y.Z-SNAPSHOT"
tag-latest:
type: boolean
description: "Tag images with latest"
required: true
default: true
jobs:
release-maven:
permissions:
contents: write
pull-requests: write
runs-on: ubuntu-latest
outputs:
MVN_ARTIFACT_ID: ${{ steps.maven-release-step.outputs.MVN_ARTIFACT_ID }}
ARTIFACT_NAME: ${{ steps.maven-release-step.outputs.artifact-name }}
steps:
- name: Maven build and release
id: maven-release-step
uses: it-at-m/lhm_actions/action-templates/actions/action-maven-release@9767179088fd2e344d1a24c17404ab809a60f1b6 # v1.0.20
with:
app-path: ${{ inputs.module }}
releaseVersion: ${{ inputs.release-version }}
developmentVersion: ${{ inputs.next-version }}
use-pr: true
skipDeployment: false
GPG_PRIVATE_KEY: ${{ secrets.gpg_private_key }}
SIGN_KEY_PASS: ${{ secrets.gpg_passphrase }}
CENTRAL_USERNAME: ${{ secrets.sonatype_username }}
CENTRAL_PASSWORD: ${{ secrets.sonatype_password }}
build-image:
if: ${{ inputs.module != 'handler-core' }}
needs: release-maven
runs-on: ubuntu-latest
steps:
- name: Build and push image
uses: it-at-m/lhm_actions/action-templates/actions/action-build-image@9767179088fd2e344d1a24c17404ab809a60f1b6 # v1.0.20
with:
registry-username: ${{ github.actor }}
registry-password: ${{ secrets.GITHUB_TOKEN }}
path: "./${{ inputs.module }}"
artifact-name: ${{ needs.release-maven.outputs.ARTIFACT_NAME }}
image-name: ${{ inputs.module }}
image-tags: |
type=raw,value=${{ inputs.release-version }}
type=raw,value=latest,enable=${{ inputs.tag-latest == true }}
create-github-release:
if: ${{ !failure() && !cancelled() }}
needs: ["release-maven", "build-image"]
runs-on: ubuntu-latest
steps:
- name: Create GitHub Release
id: create_release
uses: it-at-m/lhm_actions/action-templates/actions/action-create-github-release@9767179088fd2e344d1a24c17404ab809a60f1b6 # v1.0.20
with:
tag-name: "${{ inputs.module }}_${{ github.event.inputs.release-version }}"
generate-release-notes: true
artifact-name: ${{ needs.release-maven.outputs.ARTIFACT_NAME }}
artifact-path: "./${{ inputs.module }}/target/${{ inputs.module }}-*.jar"