Update dotnet.yaml #14
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 Build & NuGet Publish | |
on: | |
push: | |
branches: [ main ] | |
paths-ignore: | |
- '**/*.md' | |
- '**/*.gitignore' | |
- '**/*.gitattributes' | |
- '**/*.editorconfig' | |
pull_request: | |
branches: [ main ] | |
paths-ignore: | |
- '**/*.md' | |
- '**/*.gitignore' | |
- '**/*.gitattributes' | |
- '**/*.editorconfig' | |
workflow_dispatch: | |
inputs: | |
version_suffix: | |
description: 'The post-dash text to append to the build version.' | |
required: false | |
default: 'forced' | |
jobs: | |
build-and-deploy: | |
if: contains(toJson(github.event.commits), '***NO_CI***') == false | |
name: Build & Deploy | |
runs-on: windows-latest | |
env: | |
# .NET Settings | |
DOTNET_CLI_TELEMETRY_OPTOUT: 1 | |
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 | |
DOTNET_NOLOGO: true | |
DOTNET_GENERATE_ASPNET_CERTIFICATE: false | |
DOTNET_ADD_GLOBAL_TOOLS_TO_PATH: false | |
DOTNET_MULTILEVEL_LOOKUP: 0 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Cache .NET Toolchains | |
id: cache-dotnet-toolchain | |
uses: actions/cache@v2 | |
with: | |
path: '%LocalAppData%\Microsoft\dotnet\' | |
key: 'dotnet-toolchain' | |
restore-keys: 'dotnet-toolchain' | |
- id: cache-dotnet-toolchain-hit-reset-paths | |
if: steps.cache-dotnet-toolchain.outputs.cache-hit == 'true' | |
run: | | |
echo "Setting `$env:GITHUB_PATH to..." | |
echo "$env:LocalAppData\Microsoft\dotnet;$env:UserProfile\.dotnet\tools;$env:PATH" | |
$env:GITHUB_PATH="$env:LocalAppData\Microsoft\dotnet;$env:UserProfile\.dotnet\tools;$env:PATH" | |
- name: Setup .NET 6.0 | |
if: steps.cache-dotnet-toolchain.outputs.cache-hit != 'true' | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: 6.0.x | |
# packages don't like to restore if you don't clean first? | |
# see: https://github.com/actions/setup-dotnet/issues/155 | |
- name: Clean (Restore Workaround) | |
run: dotnet clean --nologo --configuration Release && dotnet nuget locals all --clear | |
- name: Restore dependencies | |
run: dotnet restore --nologo | |
####################################### BUILD ####################################### | |
- name: Build | |
run: dotnet build --nologo --no-restore --verbosity normal --configuration Release -property:ContinuousIntegrationBuild=true | |
####################################### STORE ####################################### | |
- name: Store Package Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: NuGet Packages | |
path: | | |
**/*.nupkg | |
**/*.snupkg | |
retention-days: 7 | |
- name: Store Binary Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Library Binaries | |
path: | | |
**/bin/Release/** | |
copyright | |
LICENSE | |
*.md | |
retention-days: 7 | |
####################################### TEST ####################################### | |
- name: Test | |
run: dotnet test --nologo --no-build --no-restore --verbosity normal | |
####################################### PUBLISH ####################################### | |
### Publish Package, Tag Repo | |
- name: Publish Package & Tag | |
uses: nitz/publish-nuget@13cf3a0ec3840b62a0fd20d559ab1e2a63b0d75a | |
with: | |
PROJECT_FILE_PATH: BuildTimestampGenerator.csproj | |
PACKAGE_NAME: cmdwtf.BuildTimestampGenerator | |
TAG_COMMIT: true | |
VERSION_FILE_PATH: BuildTimestampGenerator.csproj | |
VERSION_REGEX: ^\s*<VersionPrefix>(.*)<\/VersionPrefix>\s*$ | |
TAG_FORMAT: v* | |
NUGET_KEY: ${{secrets.NUGET_API_KEY}} | |
NUGET_SOURCE: https://api.nuget.org | |
INCLUDE_SYMBOLS: true | |
SKIP_BUILD: true |