The following is a quick recipe for a manual release trigger using GitHub actions.
name: manual on: workflow_dispatch: inputs: branch: description: 'Branch to release from' required: true default: 'warning' version: description: 'Version to release' required: true default: 'warning' jobs: build: runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 with: token: ${{ secrets.GIT_PASSWORD }} - name: Release from given branch with given version run: | git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/* TAG=${GITHUB_REF} VERSION=${{ github.event.inputs.version }} BRANCH=${{ github.event.inputs.branch }} echo "Releasing $VERSION from $BRANCH branch" git checkout $BRANCH git checkout -b release mvn -B versions:set versions:commit -DnewVersion=$VERSION git config --global user.email "noreply@noreply.com" git config --global user.name "Automated release" git commit -a -m "Releasing version $VERSION" git tag v$VERSION -f git push origin v$VERSION -f git checkout $BRANCH git branch -D release git push origin :${TAG}
Adjust the username and the email address in the 2 git config commands. Add the GIT_PASSWORD secret as a secret to your GitHub account (note this should be a personal access token that is allowed to push to your GitHub repository).
Posted June 30th, 2021