~ruther/NosSmooth.Local

1157aa3e8ba9b2f9ee930fb4a7408636a13a1fdb — Rutherther 2 years ago 115809b
ci: add nuget and myget support
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>

Do not follow this link