2727
2828jobs :
2929 build :
30- name : Build
30+ name : Build and Package
3131 timeout-minutes : 15
3232 runs-on : ubuntu-latest
3333
@@ -127,45 +127,45 @@ jobs:
127127 id-token : write
128128
129129 steps :
130- - name : Download unsigned packages
131- uses : actions/download-artifact@v4
132- with :
133- name : unsigned-packages
134- path : packages
135-
136- - name : Setup .NET
137- uses : actions/setup-dotnet@v4
138- with :
139- dotnet-version : 8.0.*
140-
141- - name : Install code signing tool
142- run : dotnet tool install --global sign --prerelease
143-
144- - name : Azure login
145- uses : azure/login@v2
146- with :
147- client-id : ${{ secrets.AZURE_CLIENT_ID }}
148- tenant-id : ${{ secrets.AZURE_TENANT_ID }}
149- subscription-id : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
150-
151- - name : Sign packages
152- run : >-
153- sign code azure-key-vault '**/*.nupkg'
154- --base-directory '${{ github.workspace }}/packages'
155- --azure-key-vault-managed-identity true
156- --azure-credential-type 'azure-cli'
157- --azure-key-vault-url '${{ secrets.AZURE_KEY_VAULT_URL }}'
158- --azure-key-vault-certificate '${{ secrets.AZURE_SIGN_CERTIFICATE_ID }}'
159- --publisher-name 'Steeltoe'
160- --description 'Steeltoe'
161- --description-url 'https://steeltoe.io/'
162-
163- - name : Upload signed packages
164- uses : actions/upload-artifact@v4
165- with :
166- if-no-files-found : error
167- name : signed-packages
168- path : ${{ github.workspace }}/packages/**/*.nupkg
130+ - name : Download unsigned packages
131+ uses : actions/download-artifact@v4
132+ with :
133+ name : unsigned-packages
134+ path : packages
135+
136+ - name : Setup .NET
137+ uses : actions/setup-dotnet@v4
138+ with :
139+ dotnet-version : 8.0.*
140+
141+ - name : Install code signing tool
142+ run : dotnet tool install --global sign --prerelease
143+
144+ - name : Azure login
145+ uses : azure/login@v2
146+ with :
147+ client-id : ${{ secrets.AZURE_CLIENT_ID }}
148+ tenant-id : ${{ secrets.AZURE_TENANT_ID }}
149+ subscription-id : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
150+
151+ - name : Sign packages
152+ run : >-
153+ sign code azure-key-vault '**/*.nupkg'
154+ --base-directory '${{ github.workspace }}/packages'
155+ --azure-key-vault-managed-identity true
156+ --azure-credential-type 'azure-cli'
157+ --azure-key-vault-url '${{ secrets.AZURE_KEY_VAULT_URL }}'
158+ --azure-key-vault-certificate '${{ secrets.AZURE_SIGN_CERTIFICATE_ID }}'
159+ --publisher-name 'Steeltoe'
160+ --description 'Steeltoe'
161+ --description-url 'https://steeltoe.io/'
162+
163+ - name : Upload signed packages
164+ uses : actions/upload-artifact@v4
165+ with :
166+ if-no-files-found : error
167+ name : signed-packages
168+ path : ${{ github.workspace }}/packages/**/*.nupkg
169169
170170 dev-feed-deploy :
171171 name : Deploy packages to development feed
@@ -180,41 +180,41 @@ jobs:
180180 VSS_NUGET_URI_PREFIXES : https://pkgs.dev.azure.com/dotnet/
181181
182182 steps :
183- - name : Azure login
184- uses : azure/login@v2
185- with :
186- client-id : ${{ secrets.AZURE_CLIENT_ID }}
187- tenant-id : ${{ secrets.AZURE_TENANT_ID }}
188- subscription-id : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
189-
190- - name : Download signed packages
191- uses : actions/download-artifact@v4
192- with :
193- name : signed-packages
194- path : packages
195-
196- - name : Setup .NET
197- uses : actions/setup-dotnet@v4
198- with :
199- dotnet-version : 8.0.x
200- source-url : ${{ vars.AZURE_ARTIFACTS_FEED_URL }}
201- env :
202- NUGET_AUTH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
203-
204- - name : Install credential provider for Azure Artifacts
205- run : sh -c "$(curl -fsSL https://aka.ms/install-artifacts-credprovider.sh)"
206-
207- - name : Extract access token
208- run : |
209- accessToken=$(az account get-access-token --query accessToken --resource 499b84ac-1321-427f-aa17-267ca6975798 -o tsv)
210- echo "::add-mask::$accessToken"
211- echo "ACCESS_TOKEN=$accessToken" >> $GITHUB_ENV
212-
213- - name : Configure authentication provider to use Azure DevOps token
214- run : echo "VSS_NUGET_ACCESSTOKEN=$ACCESS_TOKEN" >> $GITHUB_ENV
215-
216- - name : Push packages to Azure Artifacts
217- run : dotnet nuget push '${{ github.workspace }}/packages/*.nupkg' --api-key 'azdo-placeholder' --source '${{ vars.AZURE_ARTIFACTS_FEED_URL }}'
183+ - name : Azure login
184+ uses : azure/login@v2
185+ with :
186+ client-id : ${{ secrets.AZURE_CLIENT_ID }}
187+ tenant-id : ${{ secrets.AZURE_TENANT_ID }}
188+ subscription-id : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
189+
190+ - name : Download signed packages
191+ uses : actions/download-artifact@v4
192+ with :
193+ name : signed-packages
194+ path : packages
195+
196+ - name : Setup .NET
197+ uses : actions/setup-dotnet@v4
198+ with :
199+ dotnet-version : 8.0.x
200+ source-url : ${{ vars.AZURE_ARTIFACTS_FEED_URL }}
201+ env :
202+ NUGET_AUTH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
203+
204+ - name : Install credential provider for Azure Artifacts
205+ run : sh -c "$(curl -fsSL https://aka.ms/install-artifacts-credprovider.sh)"
206+
207+ - name : Extract access token
208+ run : |
209+ accessToken=$(az account get-access-token --query accessToken --resource 499b84ac-1321-427f-aa17-267ca6975798 -o tsv)
210+ echo "::add-mask::$accessToken"
211+ echo "ACCESS_TOKEN=$accessToken" >> $GITHUB_ENV
212+
213+ - name : Configure authentication provider to use Azure DevOps token
214+ run : echo "VSS_NUGET_ACCESSTOKEN=$ACCESS_TOKEN" >> $GITHUB_ENV
215+
216+ - name : Push packages to Azure Artifacts
217+ run : dotnet nuget push '${{ github.workspace }}/packages/*.nupkg' --api-key 'azdo-placeholder' --source '${{ vars.AZURE_ARTIFACTS_FEED_URL }}'
218218
219219 nuget-org-deploy :
220220 name : Deploy packages to nuget.org
@@ -224,22 +224,23 @@ jobs:
224224 runs-on : ubuntu-latest
225225
226226 steps :
227- - name : Setup .NET
228- uses : actions/setup-dotnet@v4
229- with :
230- dotnet-version : 8.0.x
227+ - name : Setup .NET
228+ uses : actions/setup-dotnet@v4
229+ with :
230+ dotnet-version : 8.0.x
231231
232- - name : Download signed packages
233- uses : actions/download-artifact@v4
234- with :
235- name : signed-packages
236- path : packages
232+ - name : Download signed packages
233+ uses : actions/download-artifact@v4
234+ with :
235+ name : signed-packages
236+ path : packages
237237
238- - name : Push packages to nuget.org
239- run : dotnet nuget push '${{ github.workspace }}/packages/*.nupkg' --api-key '${{ secrets.STEELTOE_NUGET_API_KEY }}' --source 'nuget.org'
238+ - name : Push packages to nuget.org
239+ run : dotnet nuget push '${{ github.workspace }}/packages/*.nupkg' --skip-duplicate --api-key '${{ secrets.STEELTOE_NUGET_API_KEY }}' --source 'nuget.org'
240240
241241 open_pr :
242- name : Open pull request to bump Steeltoe version after release
242+ name : Open pull request to bump Steeltoe version after stable release
243+ if : ${{ github.event_name == 'release' && !contains(github.ref_name, '-') }}
243244 needs : nuget-org-deploy
244245 timeout-minutes : 15
245246 runs-on : ubuntu-latest
0 commit comments