diff --git a/.github/workflows/poll_game_update.yml b/.github/workflows/poll_game_update.yml index d3dd8f4..afe48d0 100644 --- a/.github/workflows/poll_game_update.yml +++ b/.github/workflows/poll_game_update.yml @@ -35,7 +35,7 @@ jobs: exit 1 } - $ReleaseAsset=()[0] + $ReleaseAsset=$AssetsNamedRelease[0] $Url=$ReleaseAsset.browser_download_url echo "Asset file: $Url" $null=Invoke-WebRequest -Uri "$Url" -OutFile release.zip @@ -47,8 +47,8 @@ jobs: } $Metadata=(Get-Content 'release/DofusBatteriesIncluded/metadata.json' | Out-String | ConvertFrom-Json) - echo "Last release version: $(Metadata.GameVersion)." >> $Env:GITHUB_STEP_SUMMARY - echo "version=$(Metadata.GameVersion)" >> $Env:GITHUB_OUTPUT + echo "Last release version: $($Metadata.GameVersion)." >> $Env:GITHUB_STEP_SUMMARY + echo "version=$($Metadata.GameVersion)" >> $Env:GITHUB_OUTPUT echo "last_release_name=$($Response.tag_name)" >> $Env:GITHUB_OUTPUT - name: Setup Node @@ -72,6 +72,20 @@ jobs: echo "Current game version: $Version." >> $Env:GITHUB_STEP_SUMMARY echo "dofus_version=$Version" >> $Env:GITHUB_OUTPUT + - name: Write job summary + id: should_continue + run: | + $ReleaseVersion="${{ steps.fetch_last_release_version.outputs.version }}" + $GameVersion="${{ steps.fetch_dofus_version.outputs.dofus_version }}" + + if ($ReleaseVersion -eq $GameVersion) { + echo "Versions match, no release will be created." >> $Env:GITHUB_STEP_SUMMARY + } else { + echo "Versions match, no release will be created." >> $Env:GITHUB_STEP_SUMMARY + echo "A new release will be created automatically." >> $Env:GITHUB_STEP_SUMMARY + echo "create_release=true" >> $Env:GITHUB_OUTPUT + } + - name: Stop when versions match if: ${{ steps.fetch_last_release_version.outputs.version == steps.fetch_dofus_version.outputs.dofus_version }} uses: octokit/request-action@v2.x @@ -85,31 +99,22 @@ jobs: - name: Wait for workflow cancellation if: ${{ steps.fetch_last_release_version.outputs.version == steps.fetch_dofus_version.outputs.dofus_version }} run: | - echo "Versions match, no release will be created." >> $Env:GITHUB_STEP_SUMMARY while ($True) { echo "Waiting for job to be cancelled"; sleep 5; } - - - name: Continue when versions don't match - id: continue_when_versions_match - run: | - echo "Versions don't match: ${{ steps.fetch_last_release_version.outputs.version }} != ${{ steps.fetch_dofus_version.outputs.dofus_version }}." >> $Env:GITHUB_STEP_SUMMARY - echo "A new release will be created automatically." >> $Env:GITHUB_STEP_SUMMARY - echo "create_release=true" >> $Env:GITHUB_OUTPUT - if: ${{ steps.fetch_last_release_version.outputs.version != steps.fetch_dofus_version.outputs.dofus_version }} - name: Checkout - if: ${{ steps.continue_when_versions_match.outputs.create_release }} + if: ${{ steps.should_continue.outputs.create_release }} uses: actions/checkout@v4 with: fetch-depth: 0 - name: Get latest tag id: fetch_latest_tag - if: ${{ steps.continue_when_versions_match.outputs.create_release }} + if: ${{ steps.should_continue.outputs.create_release }} uses: WyriHaximus/github-action-get-previous-tag@v1 - name: Bump version id: bump_version - if: ${{ steps.continue_when_versions_match.outputs.create_release }} + if: ${{ steps.should_continue.outputs.create_release }} run: | $Version="${{ steps.fetch_latest_tag.outputs.tag }}" $Regex="v(?[0-9]+)\.(?[0-9]+)\.(?[0-9]+)(?-.*)?" @@ -132,7 +137,7 @@ jobs: - name: Get last commit uses: octokit/request-action@v2.x id: fetch_last_commit - if: ${{ steps.continue_when_versions_match.outputs.create_release }} + if: ${{ steps.should_continue.outputs.create_release }} with: route: GET /repos/{repository}/commits repository: ${{ github.repository }} @@ -140,10 +145,10 @@ jobs: page: 1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - + - name: Get last commit ref id: fetch_last_commit_ref - if: ${{ steps.continue_when_versions_match.outputs.create_release }} + if: ${{ steps.should_continue.outputs.create_release }} run: | $ResponseString=@' ${{ steps.fetch_last_commit.outputs.data }} @@ -155,7 +160,7 @@ jobs: - name: Generate release notes uses: octokit/request-action@v2.x id: create_release_notes - if: ${{ steps.continue_when_versions_match.outputs.create_release }} + if: ${{ steps.should_continue.outputs.create_release }} with: route: POST /repos/{repository}/releases/generate-notes repository: ${{ github.repository }} @@ -168,7 +173,7 @@ jobs: - name: Create release uses: octokit/request-action@v2.x id: create_release - if: ${{ steps.continue_when_versions_match.outputs.create_release }} + if: ${{ steps.should_continue.outputs.create_release }} with: route: POST /repos/{repository}/releases repository: ${{ github.repository }}