Skip to content

Prepare release

Prepare release #19

name: Prepare release
on: workflow_dispatch
jobs:
prepare_release:
name: Prepare release
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Verify prerequisites
run: |
if [[ $GITHUB_REF_NAME != main ]]; then
echo This workflow should only be run against main
exit 1
fi
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Setting variables
id: variables
run: |
version=$(cat gradle.properties | grep -Po "(?<=version=)\d+\.\d+\.\d+")
echo "The version is $version"
{
echo "version=$version"
echo "release_branch=release/$version"
} >> "$GITHUB_OUTPUT"
- name: Creating release branch
env:
RELEASE_BRANCH: ${{ steps.variables.outputs.release_branch }}
run: |
git config user.email "[email protected]"
git config user.name "Cesar Munoz"
git checkout -b $RELEASE_BRANCH
git push --set-upstream origin $RELEASE_BRANCH
- name: Updating the CHANGELOG.md file
run: ./gradlew changelogUpdate
- name: Creating release branch PR
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VERSION: ${{ steps.variables.outputs.version }}
RELEASE_BRANCH: ${{ steps.variables.outputs.release_branch }}
run: |
message="Prepare release $VERSION"
branch="pre-release/$VERSION"
git checkout -b $branch
git commit -a -m "$message"
git push --set-upstream origin $branch
gh pr create --title "[$RELEASE_BRANCH] $message" \
--body "$message." \
--base $RELEASE_BRANCH