mirror of
https://github.com/Smaug123/WoofWare.DotnetRuntimeLocator
synced 2025-10-06 15:58:39 +00:00
Wait for NuGet readiness and assert package contents (#8)
This commit is contained in:
24
.github/workflows/dotnet.yaml
vendored
24
.github/workflows/dotnet.yaml
vendored
@@ -208,6 +208,10 @@ jobs:
|
||||
if: ${{ !github.event.repository.fork && github.ref == 'refs/heads/main' }}
|
||||
needs: [attestation]
|
||||
environment: main-deploy
|
||||
permissions:
|
||||
id-token: write
|
||||
attestations: write
|
||||
contents: read
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Nix
|
||||
@@ -221,7 +225,25 @@ jobs:
|
||||
name: nuget-package
|
||||
path: packed
|
||||
- name: Publish to NuGet
|
||||
run: nix develop --command dotnet nuget push "packed/WoofWare.DotnetRuntimeLocator.*.nupkg" --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
|
||||
id: publish-success
|
||||
env:
|
||||
NUGET_API_KEY: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: 'nix develop --command ./.github/workflows/nuget-push.sh "packed/WoofWare.DotnetRuntimeLocator.*.nupkg"'
|
||||
- name: Wait for availability
|
||||
if: steps.publish-success.outputs.result == 'published'
|
||||
env:
|
||||
PACKAGE_VERSION: ${{ steps.publish-success.outputs.version }}
|
||||
run: 'echo "$PACKAGE_VERSION" && while ! curl --fail -o from-nuget.nupkg "https://www.nuget.org/api/v2/package/WoofWare.DotnetRuntimeLocator/$PACKAGE_VERSION" ; do sleep 10; done'
|
||||
# Astonishingly, NuGet.org considers it to be "more secure" to tamper with my package after upload (https://devblogs.microsoft.com/nuget/introducing-repository-signatures/).
|
||||
# So we have to *re-attest* it after it's uploaded. Mind-blowing.
|
||||
- name: Assert package contents
|
||||
if: steps.publish-success.outputs.result == 'published'
|
||||
run: 'bash ./.github/workflows/assert-contents.sh'
|
||||
- name: Attest Build Provenance
|
||||
if: steps.publish-success.outputs.result == 'published'
|
||||
uses: actions/attest-build-provenance@897ed5eab6ed058a474202017ada7f40bfa52940 # v1.0.0
|
||||
with:
|
||||
subject-path: "from-nuget.nupkg"
|
||||
|
||||
github-release:
|
||||
runs-on: ubuntu-latest
|
||||
|
Reference in New Issue
Block a user