Skip to content

Create Release Tasks #6

Create Release Tasks

Create Release Tasks #6

name: Create Release Tasks
on:
workflow_dispatch:
inputs:
release_version:
description: "Release Version, e.g. v1.8.1"
required: true
release_captain:
description: "GitHub Username of the Release Captain, e.g. @<github-username>"
required: true
qa_captain:
description: "GitHub Username of the QA Captain, e.g. @<github-username>"
required: true
jobs:
create-release-task:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Parse version information
id: parse_version
run: |
RELEASE_VERSION="${{ github.event.inputs.release_version }}"
MAJOR_MINOR_VERSION=$(echo "$RELEASE_VERSION" | sed -E 's/(v[0-9]+\.[0-9]+)\.[0-9]+/\1.0/')
BBRANCH_NAME=$(echo "$RELEASE_VERSION" | sed -E 's/(v[0-9]+\.[0-9]+)\.[0-9]+/\1.x/')
FEATURE_RELEASE=$(echo "$RELEASE_VERSION" | sed -E 's/v[0-9]+\.[0-9]+\.([0-9]+)/\1/' | grep -q '^0$' && echo "true" || echo "false")
echo "MAJOR_MINOR_VERSION=$MAJOR_MINOR_VERSION" >> $GITHUB_ENV
echo "BBRANCH_NAME=$BBRANCH_NAME" >> $GITHUB_ENV
- name: Create an issue - release task
uses: JasonEtco/create-an-issue@v2
with:
filename: .github/ISSUE_TEMPLATE/release.md
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
MAJOR_MINOR_VERSION: ${{ env.MAJOR_MINOR_VERSION }}
BBRANCH_NAME: ${{ env.BBRANCH_NAME }}
FEATURE_RELEASE: ${{ env.FEATURE_RELEASE }}
RELEASE_CAPTAIN: ${{ github.event.inputs.release_captain }}
QA_CAPTAIN: ${{ github.event.inputs.qa_captain }}
- name: Create an issue - fix security issue for release
uses: JasonEtco/create-an-issue@v2
with:
filename: .github/ISSUE_TEMPLATE/fix-cve-issues-for-release.md
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
- name: Create an issue - regular tasks for feature release
if: ${{ env.FEATURE_RELEASE == 'true' }}
uses: JasonEtco/create-an-issue@v2
with:
filename: .github/ISSUE_TEMPLATE/regular-tasks-for-feature-release.md
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
FEATURE_RELEASE: ${{ env.FEATURE_RELEASE }}