Develop Release #5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Develop Release | |
on: | |
workflow_dispatch: | |
inputs: | |
build_number: | |
description: Choose the build number to push develop to. | |
default: 0 | |
jobs: | |
release-develop: | |
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: develop | |
fetch-depth: 0 | |
- name: Fast Forward Develop | |
id: forward | |
run: | | |
value=$(cat VERSION) | |
develop_hash=$(git rev-parse HEAD) | |
if [[ "$value" == *"-"* ]]; then | |
develop_build="$((${value#*-build}))" | |
else | |
develop_build="0" | |
fi | |
git checkout origin/nightly | |
value=$(cat VERSION) | |
if [[ "$value" == *"-"* ]]; then | |
nightly_build="$((${value#*-build}))" | |
else | |
nightly_build="0" | |
fi | |
echo "DEVELOP_BUILD: '${develop_build}'" | |
echo "NIGHTLY_BUILD: '${nightly_build}'" | |
if ! [[ ${{ github.event.inputs.build_number }} =~ ^[0-9]+$ ]]; then | |
echo "::error::BUILD_NUMBER (${{ github.event.inputs.build_number }}) must be a number" | |
exit 1 | |
elif [[ "${{ github.event.inputs.build_number }}" == "0" ]]; then | |
next_build="${nightly_build}" | |
elif (( ${{ github.event.inputs.build_number }} <= develop_build )); then | |
echo "::error::BUILD_NUMBER (${{ github.event.inputs.build_number }}) must be greater than DEVELOP_BUILD (${develop_build})" | |
exit 1 | |
elif (( ${{ github.event.inputs.build_number }} > nightly_build )); then | |
echo "::error::BUILD_NUMBER (${{ github.event.inputs.build_number }}) must be less than or equal to NIGHTLY_BUILD (${nightly_build})" | |
exit 1 | |
else | |
next_build="${{ github.event.inputs.build_number }}" | |
fi | |
echo "NEXT_BUILD: '${next_build}'" | |
echo "build=next_build" >> $GITHUB_OUTPUT | |
while : ; do | |
value=$(cat VERSION) | |
if [[ "$value" == *"-"* ]]; then | |
loop_build="$((${value#*-build}))" | |
else | |
loop_build="1" | |
fi | |
if [[ "$next_build" == "$loop_build" ]]; then | |
hash=$(git rev-parse HEAD) | |
echo "Fast Forwarding Develop to ${hash}" | |
git push origin ${hash}:refs/heads/develop | |
break | |
fi | |
git checkout HEAD^ | |
hash=$(git rev-parse HEAD) | |
if [[ "$develop_hash" == "$hash" ]]; then | |
echo "::error::No Commit found to Fast Forward" | |
exit 1 | |
fi | |
done | |
- name: Discord Success Notification | |
uses: Kometa-Team/discord-notifications@master | |
if: success() | |
with: | |
webhook_id_token: ${{ secrets.BUILD_WEBHOOK }} | |
title: "${{ vars.REPO_NAME }} develop pushed to Build ${{ steps.forward.outputs.build }}: ${{ 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 }} develop pushed to Build ${{ steps.forward.outputs.build }}: ${{ 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 }} |