name: Master Release on: workflow_dispatch: inputs: release_type: type: choice description: Choose which type of release to perform. options: - major - minor - patch default: patch jobs: release-master: runs-on: ubuntu-latest steps: - name: Create App Token uses: actions/create-github-app-token@v1 id: app-token with: app-id: ${{ vars.APP_ID }} private-key: ${{ secrets.APP_TOKEN }} - name: Check Out Repo uses: actions/checkout@v4 with: token: ${{ steps.app-token.outputs.token }} ref: nightly fetch-depth: 0 - name: Create Release Commit and Synchronize Branches run: | value=$(cat VERSION) version="${value%-build*}" echo "CURRENT_VERSION: '${version}'" IFS='.' read -r MAJOR MINOR PATCH <<< "$version" if [[ "${{ github.event.inputs.release_type }}" == "major" ]]; then NEW_VERSION="$((MAJOR+1)).0.0" elif [[ "${{ github.event.inputs.release_type }}" == "minor" ]]; then NEW_VERSION="${MAJOR}.$((MINOR+1)).0" else NEW_VERSION="${MAJOR}.${MINOR}.$((PATCH+1))" fi echo "NEW_VERSION='${NEW_VERSION}'" echo "new_ver=$NEW_VERSION" >> $GITHUB_OUTPUT echo "$NEW_VERSION" > "VERSION" git config --local user.email "action@github.com" git config --local user.name "GitHub Action" git add VERSION git commit -m "Kometa Release ${NEW_VERSION}" git push origin nightly git push origin refs/heads/nightly:refs/heads/develop git push origin refs/heads/nightly:refs/heads/main - name: Discord Success Notification uses: Kometa-Team/discord-notifications@master if: success() with: webhook_id_token: ${{ secrets.BUILD_WEBHOOK }} title: "${{ vars.REPO_NAME }} master release ${{ steps.release.outputs.new_ver }}: ${{ vars.TEXT_SUCCESS }}" url: https://github.com/Kometa-Team/${{ vars.REPO_NAME }}/actions/runs/${{ github.run_id }} color: ${{ vars.COLOR_SUCCESS }} username: ${{ vars.BOT_NAME }} avatar_url: ${{ vars.BOT_IMAGE }} author: ${{ vars.GIT_NAME }} author_icon_url: ${{ vars.GIT_IMAGE }} - name: Discord Failure Notification uses: Kometa-Team/discord-notifications@master if: failure() with: webhook_id_token: ${{ secrets.BUILD_WEBHOOK }} message: ${{ vars.BUILD_FAILURE_ROLE }} title: "${{ vars.REPO_NAME }} master release ${{ steps.release.outputs.new_ver }}: ${{ vars.TEXT_FAILURE }}" url: https://github.com/Kometa-Team/${{ vars.REPO_NAME }}/actions/runs/${{ github.run_id }} color: ${{ vars.COLOR_FAILURE }} username: ${{ vars.BOT_NAME }} avatar_url: ${{ vars.BOT_IMAGE }} author: ${{ vars.GIT_NAME }} author_icon_url: ${{ vars.GIT_IMAGE }}