diff --git a/.github/workflows/upload-win-installer.yml b/.github/workflows/upload-win-installer.yml index 843293071c..9d92a973d0 100644 --- a/.github/workflows/upload-win-installer.yml +++ b/.github/workflows/upload-win-installer.yml @@ -22,7 +22,7 @@ jobs: build: runs-on: windows-latest env: - FETCH_BASE_URL: ${{ github.server_url }}/${{ github.repository }} + FETCH_BASE_URL: ${{ github.server_url }}/${{ github.repository }} steps: - name: Consolidate dryrun setting to always be true or false id: actual_dryrun @@ -78,12 +78,11 @@ jobs: # The podman release process requires a cross-compile of the windows binaries be uploaded to # the release page as a hard-coded filename. If non-existent, this workflow will fail in # non-obvious ways with a non-obvious error message. Address that here. - # TODO: Remove this in a future PR once verified to not cause artifact issues - #- name: Confirm upload_asset_name is non-empty - # if: steps.check.outputs.upload_asset_name == '' && github.event_name != 'pull_request' - # run: | - # Write-Output "::error::check.ps1 script failed to find manually uploaded podman-remote-release-windows_amd64.zip github release asset for version ${{steps.getversion.outputs.version}}." - # Exit 1 + - name: Confirm upload_asset_name is non-empty + if: steps.check.outputs.upload_asset_name == '' + run: | + Write-Output "::error::check.ps1 script failed to find manually uploaded podman-remote-release-windows_amd64.zip github release asset for version ${{steps.getversion.outputs.version}}." + Exit 1 - name: Set up Go uses: actions/setup-go@v5 # N/B: already-exists may be an empty-string or "false", handle both cases. @@ -95,12 +94,12 @@ jobs: - name: Setup Signature Tooling if: steps.Check.outputs.already-exists != 'true' || steps.actual_dryrun.outputs.dryrun == 'true' run: | - dotnet tool install --global AzureSignTool --version 3.0.0 - echo "CERT_NAME=${{secrets.AZ_CERT_NAME}}" | Out-File -FilePath $env:GITHUB_ENV -Append - echo "VAULT_ID=${{secrets.AZ_VAULT_ID}}" | Out-File -FilePath $env:GITHUB_ENV -Append - echo "APP_ID=${{secrets.AZ_APP_ID}}" | Out-File -FilePath $env:GITHUB_ENV -Append - echo "TENANT_ID=${{secrets.AZ_TENANT_ID}}" | Out-File -FilePath $env:GITHUB_ENV -Append - echo "CLIENT_SECRET=${{secrets.AZ_CLIENT_SECRET}}" | Out-File -FilePath $env:GITHUB_ENV -Append + dotnet tool install --global AzureSignTool --version 3.0.0 + echo "CERT_NAME=${{secrets.AZ_CERT_NAME}}" | Out-File -FilePath $env:GITHUB_ENV -Append + echo "VAULT_ID=${{secrets.AZ_VAULT_ID}}" | Out-File -FilePath $env:GITHUB_ENV -Append + echo "APP_ID=${{secrets.AZ_APP_ID}}" | Out-File -FilePath $env:GITHUB_ENV -Append + echo "TENANT_ID=${{secrets.AZ_TENANT_ID}}" | Out-File -FilePath $env:GITHUB_ENV -Append + echo "CLIENT_SECRET=${{secrets.AZ_CLIENT_SECRET}}" | Out-File -FilePath $env:GITHUB_ENV -Append - name: Pandoc Setup uses: r-lib/actions/setup-pandoc@v2 with: @@ -109,10 +108,16 @@ jobs: id: build if: steps.check.outputs.already-exists != 'true' || steps.actual_dryrun.outputs.dryrun == 'true' run: | - .\winmake.ps1 podman - .\winmake.ps1 win-gvproxy - .\winmake.ps1 docs - .\winmake.ps1 installer + Push-Location contrib\win-installer + .\build.ps1 ${{steps.getversion.outputs.version}} prod + $code = $LASTEXITCODE + if ($code -eq 2) { + Write-Output "artifact-missing=true" | Out-File -FilePath $env:GITHUB_OUTPUT -Append + Pop-Location + Exit 0 + } + Pop-Location + Exit $code - name: Artifact if: steps.check.outputs.already-exists != 'true' || steps.actual_dryrun.outputs.dryrun == 'true' uses: actions/upload-artifact@v4