Skip to content

Release pg-gvm

Release pg-gvm #42

Workflow file for this run

name: Release pg-gvm
on:
pull_request:
types: [closed]
workflow_dispatch:
inputs:
release-type:
type: choice
description: What kind of release do you want to do (pontos --release-type argument)?
options:
- patch
- minor
- major
release-version:
type: string
description: Set an explicit version, that will overwrite release-type. Fails if version is not compliant.
jobs:
build-and-release:
name: Create a new release
# If the event is a workflow_dispatch or on of the labels 'pre release',
# 'patch release', 'minor release' or 'major release' is set and PR is
# closed because of a merge
# NOTE: priority of set labes will be alpha > release-candidate > patch > minor > major,
# so if 'major' and 'patch' labes are set, it will create a patch release.
if: |
( github.event_name == 'workflow_dispatch') || (
( contains(github.event.pull_request.labels.*.name, 'alpha release') ||
contains(github.event.pull_request.labels.*.name, 'rc release') ||
contains(github.event.pull_request.labels.*.name, 'patch release') ||
contains(github.event.pull_request.labels.*.name, 'minor release') ||
contains(github.event.pull_request.labels.*.name, 'major release')) &&
github.event.pull_request.merged == true )
runs-on: 'ubuntu-latest'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- name: Selecting the Release type
id: release-type
uses: greenbone/actions/release-type@v3
with:
release-type-input: ${{ inputs.release-type }}
- name: Install pontos
uses: greenbone/actions/setup-pontos@v3
- name: Release Version
id: release
run:
pontos-release show --release-type ${{ steps.release-type.outputs.release-type }} --output-format github-action
- name: Show versions
run: |
echo "Current release: ${{ steps.release.outputs.last_release_version}}"
echo "Next release: ${{ steps.release.outputs.release_version}}"
- name: Check for SQL migration script
run: |
found=$(find ./sql/update -name "*--${{ steps.release.outputs.release_version_major }}.${{ steps.release.outputs.release_version_minor }}.sql" | wc -l)
if [ $found -eq 0 ]; then
echo "::error ::Missing SQL migration file in ./sql/update for ${{ steps.release.outputs.release_version_major }}.${{ steps.release.outputs.release_version_minor }} release"
exit 1
fi
- name: Release with release action
uses: greenbone/actions/release@v3
with:
github-user: ${{ secrets.GREENBONE_BOT }}
github-user-mail: ${{ secrets.GREENBONE_BOT_MAIL }}
github-user-token: ${{ secrets.GREENBONE_BOT_TOKEN }}
gpg-key: ${{ secrets.GPG_KEY }}
gpg-fingerprint: ${{ secrets.GPG_FINGERPRINT }}
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
release-type: ${{ steps.release-type.outputs.release-type }}
release-version: ${{ inputs.release-version }}
ref: ${{ steps.release-type.outputs.release-ref }}
versioning-scheme: "semver"