88jobs :
99 build :
1010 runs-on : ubuntu-latest
11+ outputs :
12+ win_x64_sha256 : ${{ steps.checksums.outputs.win_x64_sha256 }}
13+ win_arm64_sha256 : ${{ steps.checksums.outputs.win_arm64_sha256 }}
14+ linux_x64_sha256 : ${{ steps.checksums.outputs.linux_x64_sha256 }}
15+ linux_arm64_sha256 : ${{ steps.checksums.outputs.linux_arm64_sha256 }}
16+ osx_x64_sha256 : ${{ steps.checksums.outputs.osx_x64_sha256 }}
17+ osx_arm64_sha256 : ${{ steps.checksums.outputs.osx_arm64_sha256 }}
1118 permissions :
1219 contents : write
1320
@@ -92,34 +99,13 @@ jobs:
9299 iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
93100 }
94101
95- - name : Get release assets and checksums
96- id : release_info
97- shell : pwsh
98- run : |
99- $version = "${{ github.ref }}" -replace 'refs/tags/v', ''
100- $release = Invoke-RestMethod -Uri "https://api.github.com/repos/${{ github.repository }}/releases/tags/v$version"
101-
102- # Get checksums from release assets or calculate them
103- $winX64Asset = $release.assets | Where-Object { $_.name -eq "dotnet-api-diff-win-x64.zip" }
104- $winArm64Asset = $release.assets | Where-Object { $_.name -eq "dotnet-api-diff-win-arm64.zip" }
105-
106- # Download assets and calculate checksums
107- Invoke-WebRequest -Uri $winX64Asset.browser_download_url -OutFile "win-x64.zip"
108- Invoke-WebRequest -Uri $winArm64Asset.browser_download_url -OutFile "win-arm64.zip"
109-
110- $checksumX64 = (Get-FileHash "win-x64.zip" -Algorithm SHA256).Hash.ToLower()
111- $checksumArm64 = (Get-FileHash "win-arm64.zip" -Algorithm SHA256).Hash.ToLower()
112-
113- echo "version=$version" >> $env:GITHUB_OUTPUT
114- echo "checksum_x64=$checksumX64" >> $env:GITHUB_OUTPUT
115- echo "checksum_arm64=$checksumArm64" >> $env:GITHUB_OUTPUT
116-
117102 - name : Build and publish Chocolatey package
118103 shell : pwsh
119104 env :
120105 CHOCOLATEY_API_KEY : ${{ secrets.CHOCOLATEY_API_KEY }}
121106 run : |
122- .\scripts\build-chocolatey.ps1 -Version "${{ steps.release_info.outputs.version }}" -ChecksumX64 "${{ steps.release_info.outputs.checksum_x64 }}" -ChecksumArm64 "${{ steps.release_info.outputs.checksum_arm64 }}" -ApiKey "$env:CHOCOLATEY_API_KEY" -Publish
107+ $version = "${{ github.ref }}" -replace 'refs/tags/v', ''
108+ .\scripts\build-chocolatey.ps1 -Version "$version" -ChecksumX64 "${{ needs.build.outputs.win_x64_sha256 }}" -ChecksumArm64 "${{ needs.build.outputs.win_arm64_sha256 }}" -ApiKey "$env:CHOCOLATEY_API_KEY" -Publish
123109
124110 homebrew :
125111 needs : build
@@ -129,37 +115,18 @@ jobs:
129115 steps :
130116 - uses : actions/checkout@v4
131117
132- - name : Get release assets and checksums
118+ - name : Get release version
133119 id : release_info
134120 run : |
135121 VERSION=${GITHUB_REF#refs/tags/v}
136-
137- # Get release information
138- RELEASE_JSON=$(curl -s "https://api.github.com/repos/${{ github.repository }}/releases/tags/v$VERSION")
139-
140- # Download assets and calculate checksums
141- wget -q $(echo "$RELEASE_JSON" | jq -r '.assets[] | select(.name=="dotnet-api-diff-osx-arm64.tar.gz") | .browser_download_url') -O osx-arm64.tar.gz
142- wget -q $(echo "$RELEASE_JSON" | jq -r '.assets[] | select(.name=="dotnet-api-diff-osx-x64.tar.gz") | .browser_download_url') -O osx-x64.tar.gz
143- wget -q $(echo "$RELEASE_JSON" | jq -r '.assets[] | select(.name=="dotnet-api-diff-linux-arm64.tar.gz") | .browser_download_url') -O linux-arm64.tar.gz
144- wget -q $(echo "$RELEASE_JSON" | jq -r '.assets[] | select(.name=="dotnet-api-diff-linux-x64.tar.gz") | .browser_download_url') -O linux-x64.tar.gz
145-
146- OSX_ARM64_SHA256=$(sha256sum osx-arm64.tar.gz | cut -d' ' -f1)
147- OSX_X64_SHA256=$(sha256sum osx-x64.tar.gz | cut -d' ' -f1)
148- LINUX_ARM64_SHA256=$(sha256sum linux-arm64.tar.gz | cut -d' ' -f1)
149- LINUX_X64_SHA256=$(sha256sum linux-x64.tar.gz | cut -d' ' -f1)
150-
151- echo "version=$VERSION" >> $GITHUB_OUTPUT
152- echo "osx_arm64_sha256=$OSX_ARM64_SHA256" >> $GITHUB_OUTPUT
153- echo "osx_x64_sha256=$OSX_X64_SHA256" >> $GITHUB_OUTPUT
154- echo "linux_arm64_sha256=$LINUX_ARM64_SHA256" >> $GITHUB_OUTPUT
155- echo "linux_x64_sha256=$LINUX_X64_SHA256" >> $GITHUB_OUTPUT
122+ echo "version=$VERSION" >> "$GITHUB_OUTPUT"
156123
157124 - name : Update Homebrew formula
158125 run : |
159- ./scripts/update-homebrew.sh "${{ steps.release_info.outputs.version }}" "${{ steps.release_info .outputs.osx_arm64_sha256 }}" "${{ steps.release_info .outputs.osx_x64_sha256 }}" "${{ steps.release_info .outputs.linux_arm64_sha256 }}" "${{ steps.release_info .outputs.linux_x64_sha256 }}"
126+ ./scripts/update-homebrew.sh "${{ steps.release_info.outputs.version }}" "${{ needs.build .outputs.osx_arm64_sha256 }}" "${{ needs.build .outputs.osx_x64_sha256 }}" "${{ needs.build .outputs.linux_arm64_sha256 }}" "${{ needs.build .outputs.linux_x64_sha256 }}"
160127
161128 - name : Upload Homebrew formula as artifact
162- uses : actions/upload-artifact@v3
129+ uses : actions/upload-artifact@v4
163130 with :
164131 name : homebrew-formula
165132 path : artifacts/dotnetapidiff.rb
0 commit comments