44 push :
55 branches :
66 - main
7- - release/*
8- tags :
9- - " v*"
10- pull_request :
11- branches :
12- - main
13- - release/*
14- types : [ opened, synchronize, reopened ]
157
168jobs :
179 # Prime a single LFS cache and expose the exact key for the matrix
1810 WarmLFS :
1911 runs-on : ubuntu-latest
12+ permissions :
13+ contents : read
2014 outputs :
2115 lfs_key : ${{ steps.expose-key.outputs.lfs_key }}
2216 steps :
6054
6155 Build :
6256 needs : WarmLFS
57+ permissions :
58+ contents : read
6359 strategy :
6460 matrix :
6561 options :
@@ -223,6 +219,9 @@ jobs:
223219 token : ${{ secrets.CODECOV_TOKEN }}
224220
225221 Publish :
222+ permissions :
223+ id-token : write # Required for OIDC
224+ contents : read
226225 needs : [Build]
227226 runs-on : ubuntu-latest
228227 if : (github.event_name == 'push')
@@ -242,6 +241,16 @@ jobs:
242241 - name : NuGet Install
243242 uses : NuGet/setup-nuget@v2
244243
244+ - name : Compute Version
245+ id : compute-version
246+ shell : pwsh
247+ run : |
248+ $date = Get-Date -Format "yyyy.MM.dd"
249+ $buildNumber = "${{ github.run_number }}"
250+ $version = "$date-mc.$buildNumber"
251+ echo "version=$version" >> $env:GITHUB_OUTPUT
252+ echo "Computed version: $version"
253+
245254 - name : NuGet Setup Cache
246255 uses : actions/cache@v4
247256 id : nuget-cache
@@ -252,17 +261,19 @@ jobs:
252261
253262 - name : DotNet Pack
254263 shell : pwsh
255- run : ./ci-pack.ps1
264+ run : ./ci-pack.ps1 -version "${{ steps.compute-version.outputs.version }}"
256265
257- - name : Feedz Publish
258- shell : pwsh
259- run : |
260- dotnet nuget push .\artifacts\*.nupkg -k ${{secrets.FEEDZ_TOKEN}} -s https://f.feedz.io/sixlabors/sixlabors/nuget/index.json --skip-duplicate
261- dotnet nuget push .\artifacts\*.snupkg -k ${{secrets.FEEDZ_TOKEN}} -s https://f.feedz.io/sixlabors/sixlabors/symbols --skip-duplicate
266+ - name : Azure Login
267+ uses : azure/login@v2
268+ with :
269+ client-id : ${{ secrets.AZURE_CLIENT_ID }}
270+ tenant-id : ${{ secrets.AZURE_TENANT_ID }}
271+ subscription-id : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
272+
273+ - name : Install Sleet
274+ run : dotnet tool install -g sleet
262275
263- - name : NuGet Publish
264- if : ${{ startsWith(github.ref, 'refs/tags/') }}
276+ - name : Publish Internal
265277 shell : pwsh
266278 run : |
267- dotnet nuget push .\artifacts\*.nupkg -k ${{secrets.NUGET_TOKEN}} -s https://api.nuget.org/v3/index.json --skip-duplicate
268- dotnet nuget push .\artifacts\*.snupkg -k ${{secrets.NUGET_TOKEN}} -s https://api.nuget.org/v3/index.json --skip-duplicate
279+ sleet push ./artifacts --config sleet.json artifacts
0 commit comments