A .github/workflows/build-test.yml => .github/workflows/build-test.yml +41 -0
@@ 0,0 1,41 @@
+# 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: [ "main" ]
+ pull_request:
+ branches: [ "main" ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v3
+ with:
+ dotnet-version: |
+ 6.0.x
+ 7.0.x
+ - name: Restore dependencies
+ run: dotnet restore
+ - name: Build
+ run: dotnet build --no-restore --version-suffix "main$GITHUB_RUN_ID"
+ - name: Test
+ run: dotnet test --no-build --verbosity normal
+
+ - name: Pack app
+ if: github.ref == 'refs/heads/main' && github.event_name == 'push'
+ run: dotnet pack -c Release --no-restore --version-suffix "main$GITHUB_RUN_ID" -o nuget
+
+ - name: Publish NuGet on MyGet
+ working-directory: nuget
+ if: github.ref == 'refs/heads/main' && github.event_name == 'push'
+ run: dotnet nuget push *.nupkg --skip-duplicate -k $MYGET_AUTH_TOKEN -s https://www.myget.org/F/nossmooth/api/v3/index.json
+ env:
+ MYGET_AUTH_TOKEN: ${{secrets.MYGET_KEY}}<
\ No newline at end of file
A .github/workflows/nuget-push.yml => .github/workflows/nuget-push.yml +31 -0
@@ 0,0 1,31 @@
+# This workflow pushes builds to the private github nuget repo on a push or merge.
+
+name: NuGet Update
+
+on:
+ release:
+ types: [published]
+ workflow_dispatch:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ name: Update NuGet Package
+ steps:
+
+ - name: Checkout Repository
+ uses: actions/checkout@v2
+
+ - name: Setup .NET Core SDK
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: '7.0.x'
+
+ - name: Pack app
+ run: dotnet pack NosSmooth.Local.sln --configuration Release -o nuget
+
+ - name: Publish NuGet
+ working-directory: nuget
+ run: dotnet nuget push *.nupkg --skip-duplicate -k $NUGET_AUTH_TOKEN -s https://api.nuget.org/v3/index.json
+ env:
+ NUGET_AUTH_TOKEN: ${{secrets.NUGET_KEY}}
A src/Samples/Directory.Build.props => src/Samples/Directory.Build.props +5 -0
@@ 0,0 1,5 @@
+<Project>
+ <PropertyGroup>
+ <IsPackable>false</IsPackable>
+ </PropertyGroup>
+</Project>