From 7202e6172d95639c2b14612abb609a2bbe56c613 Mon Sep 17 00:00:00 2001 From: Ashley Cui Date: Thu, 18 Jul 2024 07:49:26 -0400 Subject: [PATCH] Use uploaded .zip for Windows action Restore behavior for using uploaded zp file to generate the windows installer. This ensures that actions can always build and sign the installer, no matter how old the release, provided a .zip. Signed-off-by: Ashley Cui --- .github/workflows/upload-win-installer.yml | 39 ++++++++++++---------- 1 file changed, 22 insertions(+), 17 deletions(-) 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