Update deploy-nuget-packages.yml #6
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will build a .NET project | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net | |
name: .NET | |
on: | |
push: | |
branches: [ "test" ] | |
pull_request: | |
branches: [ "main" ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Work out last successful commit | |
id: setSHAs | |
uses: nrwl/nx-set-shas@v4 | |
- name: Determine affected projects | |
id: dotnet_affected | |
run: | | |
dotnet new tool-manifest && dotnet tool install dotnet-affected | |
if dotnet affected -f text traversal \ | |
--from "${{ steps.setSHAs.outputs.base }}" \ | |
--to "${{ github.sha }}"; then | |
if [ -s affected.txt ]; then | |
cat affected.txt | |
echo "Number of affected projects: " $(wc -l < affected.txt) | |
echo "has_output=true" >> $GITHUB_OUTPUT | |
else | |
echo "No affected projects." | |
echo "has_output=false" >> $GITHUB_OUTPUT | |
fi | |
elif [ $? -ne 166 ]; then | |
echo "Exiting, error occurred" | |
exit 1 | |
else | |
echo "No affected projects." | |
echo "has_output=false" >> $GITHUB_OUTPUT | |
fi | |
- name: Restore dependencies | |
if: steps.dotnet_affected.outputs.has_output == 'true' | |
run: | | |
for proj in $(cat affected.proj); do | |
dotnet restore $proj | |
done | |
- name: Build affected projects | |
if: steps.dotnet_affected.outputs.has_output == 'true' | |
run: | | |
for proj in $(cat affected.proj); do | |
dotnet build $proj --configuration Release | |
done | |
- name: Test affected projects | |
if: steps.dotnet_affected.outputs.has_output == 'true' | |
run: dotnet test affected.proj --no-build | |
- name: Pack affected projects | |
if: steps.dotnet_affected.outputs.has_output == 'true' | |
run: dotnet pack affected.proj --no-build --configuration Release | |
- name: Push NuGet packages | |
if: steps.dotnet_affected.outputs.has_output == 'true' | |
run: dotnet nuget push **/Release/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json |