chore: package upgrades #178
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
name: .NET Core | |
on: | |
push: | |
branches: [ master ] | |
tags: | |
- '*.*.*' | |
pull_request: | |
branches: [ master ] | |
env: | |
# Stop wasting time caching packages | |
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true | |
# Disable sending usage data to Microsoft | |
DOTNET_CLI_TELEMETRY_OPTOUT: true | |
# Don't show a logo on first run of CLI | |
DOTNET_NOLOGO: true | |
# GitHub Packages Feed settings | |
GITHUB_FEED: https://nuget.pkg.github.com/ | |
GITHUB_USER: iancooper | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup dotnet 8 | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: | | |
6.0.x | |
8.0.x | |
- run: dotnet --info | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/cache@v4 | |
with: | |
path: ~/.nuget/packages | |
key: Linux-nuget-${{ hashFiles('**/*.csproj') }} | |
restore-keys: | | |
Linux-nuget- | |
- name: Build | |
run: dotnet build -c Release | |
- name: Core Tests | |
run: dotnet test -c Release --no-restore --no-build --verbosity d | |
- name: Upload packages as artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: nuget packages | |
path: "**/*.nupkg" | |
- name: Push to GitHub Feed | |
if: ${{ github.event_name != 'pull_request' }} | |
run: dotnet nuget push **/*.nupkg --source https://nuget.pkg.github.com/${REPOSITORY_OWNER}/index.json --api-key ${GITHUB_TOKEN} --skip-duplicate | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
REPOSITORY_OWNER: ${{ github.repository_owner }} | |
release: | |
if: startsWith(github.ref, 'refs/tags') | |
runs-on: ubuntu-latest | |
environment: nuget | |
timeout-minutes: 5 | |
needs: [build] | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: nuget packages | |
- name: Push generated package to NuGet | |
run: dotnet nuget push **/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_KEY }} --skip-duplicate | |