Skip to content

artifacts publish v4 #16

artifacts publish v4

artifacts publish v4 #16

Workflow file for this run

name: .NET
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Cache NuGet packages
uses: actions/cache@v3
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.x
- name: Restore dependencies
run: dotnet restore src/OneBitSoftware.Slovom.sln
- name: Build
run: dotnet build --no-restore src/OneBitSoftware.Slovom.sln
- name: Test
run: dotnet test --no-build --verbosity normal src/OneBitSoftware.Slovom.sln
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: build-artifacts
path: src/OneBitSoftware.Slovom/bin/Release
pack:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.x
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
path: src/OneBitSoftware.Slovom/bin/Release
- name: Pack
run: dotnet pack --configuration Release --no-build src/OneBitSoftware.Slovom/OneBitSoftware.Slovom.csproj
publish:
runs-on: ubuntu-latest
needs: pack
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.x
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifacts
path: src/OneBitSoftware.Slovom/bin/Release
- name: Publish to NuGet
env:
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
run: dotnet nuget push bin/Release/*.nupkg --api-key $NUGET_API_KEY --source https://api.nuget.org/v3/index.json