From 018758d5b9d177edcb7fd22ce930ec889bedc170 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 17 Jul 2024 21:18:19 +0900 Subject: [PATCH] WORKFLOW: integrating new versioning flow with tags and single cooker branch --- .github/workflows/cooker-selfhosted.yml | 14 +++++++++++++- .github/workflows/main-selfhosted.yml | 10 ++++++++++ automation_tools/main_version_checker.sh | 4 ++-- net.retrodeck.retrodeck.yml | 4 ++-- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index cf831cf8..72998b32 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -64,6 +64,8 @@ jobs: # if the branch is coming from a PR the tag should be manually built - name: "Generate version tag" run: | + source automation_tools/version_extractor.sh + manifest_version=$(fetch_manifest_version) if [[ "$BRANCH_NAME" == 'refs/'* ]]; then pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}') source_branch=$(curl -s "https://api.github.com/repos/XargonWan/RetroDECK/pulls/$pr_number" | jq -r '.head.ref') @@ -71,7 +73,7 @@ jobs: echo "[DEBUG] source branch is: $source_branch" echo "TAG=PR-$pr_number-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV else - echo "TAG=${{env.BRANCH_NAME}}-${{ env.buildid }}" >> $GITHUB_ENV + echo "TAG=${{$manifest_version}}-${{ env.buildid }}" >> $GITHUB_ENV fi echo "Version TAG: ${{ env.TAG }}" @@ -159,6 +161,16 @@ jobs: repo: RetroDECK-cooker continue-on-error: true + - name: Rewrite Tag + run: | + git fetch --tags + if git rev-parse --verify "${{ env.TAG }}" >/dev/null 2>&1; then # if the tag exists + git tag -d "${{ env.TAG }}" # remove it from local repo + git push --delete origin "${{ env.TAG }}" # and from remote + fi + git tag "${{ env.TAG }}" # Create the tag locally + git push origin "${{ env.TAG }}" # Push the new tag in the remote repo + # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release - name: Upload RetroDECK-cooker.flatpak uses: actions/upload-artifact@v3 diff --git a/.github/workflows/main-selfhosted.yml b/.github/workflows/main-selfhosted.yml index c1932daf..47215544 100644 --- a/.github/workflows/main-selfhosted.yml +++ b/.github/workflows/main-selfhosted.yml @@ -115,6 +115,16 @@ jobs: repo: RetroDECK continue-on-error: true + - name: Rewrite Tag + run: | + git fetch --tags + if git rev-parse --verify "${{ env.REL_VER }}" >/dev/null 2>&1; then # if the tag exists + git tag -d "${{ env.REL_VER }}" # remove it from local repo + git push --delete origin "${{ env.REL_VER }}" # and from remote + fi + git tag "${{ env.REL_VER }}" # Create the tag locally + git push origin "${{ env.REL_VER }}" # Push the new tag in the remote repo + # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release - name: Upload RetroDECK.flatpak uses: actions/upload-artifact@v3 diff --git a/automation_tools/main_version_checker.sh b/automation_tools/main_version_checker.sh index 87011bfd..d230b205 100755 --- a/automation_tools/main_version_checker.sh +++ b/automation_tools/main_version_checker.sh @@ -42,8 +42,8 @@ appdata_version=$(fetch_appdata_version) echo -e "Appdata:\t\t$appdata_version" # Additional checks -if [[ "$manifest_version" == "main" || "$manifest_version" == "THISBRANCH" ]]; then - echo "Manifest version cannot be 'main' or 'THISBRANCH'. Please fix it." +if [[ "$manifest_version" == "main" || "$manifest_version" == "THISBRANCH" || "$manifest_version" == *"cooker"* ]]; then + echo "Manifest version cannot be 'main', 'THISBRANCH', or contain 'cooker'. Please fix it." exit 1 fi diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 485ca13c..5d8073c0 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -77,8 +77,8 @@ modules: - | # on main please update this with the version variable, eg: VERSION=0.8.0b - # on cooker will be THISBRANCH - VERSION=THISBRANCH + # on cooker will be VERSION=cooker-0.9.0b for example + VERSION=cooker-0.9.0b git checkout ${GITHUB_REF_NAME} mkdir -p ${FLATPAK_DEST}/retrodeck/