diff --git a/.appveyor.yml b/.appveyor.yml
index 070aa296..a84619a4 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -2,7 +2,7 @@ image: Visual Studio 2019
init:
- git config --global core.autocrlf input
build_script:
- - cmd: choco install dotnetcore-sdk --version=3.0.100
+ - cmd: choco install dotnetcore-sdk --version=3.1.102
- ps: .\build.ps1
test: off
after_build:
diff --git a/.build/Build.cs b/.build/Build.cs
index 03c10af0..560185ab 100644
--- a/.build/Build.cs
+++ b/.build/Build.cs
@@ -7,6 +7,12 @@
[PublicAPI]
[CheckBuildProjectConfigurations]
[UnsetVisualStudioEnvironmentVariables]
+[AzurePipelinesSteps(
+ InvokedTargets = new[] { nameof(Restore), nameof(Build), nameof(Test), nameof(Pack) },
+ NonEntryTargets = new[] { nameof(BuildVersion), nameof(Generate_Code_Coverage_Reports) },
+ ExcludedTargets = new[] { nameof(Clean), nameof(Restore), nameof(DotnetToolRestore) },
+ Parameters = new[] { nameof(CoverageDirectory), nameof(ArtifactsDirectory), nameof(Verbosity), nameof(Configuration) }
+)]
[PackageIcon("https://raw.githubusercontent.com/RocketSurgeonsGuild/graphics/master/png/social-square-thrust-rounded.png")]
[EnsurePackageSourceHasCredentials("RocketSurgeonsGuild")]
[EnsureGitHooks(GitHook.PreCommit)]
diff --git a/.prettierrc b/.prettierrc
index 51b66678..acd09948 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -5,5 +5,16 @@
"singleQuote": true,
"arrowParens": "avoid",
"bracketSpacing": true,
- "printWidth": 120
+ "printWidth": 120,
+ "overrides": [
+ {
+ "files": [
+ "*.yml",
+ "*.yaml"
+ ],
+ "options": {
+ "tabWidth": 2
+ }
+ }
+ ]
}
\ No newline at end of file
diff --git a/Packages.props b/Packages.props
index 9459dc77..1df10622 100644
--- a/Packages.props
+++ b/Packages.props
@@ -9,21 +9,21 @@
-
-
+
+
-
+
-
+
-
+
-
-
+
+
diff --git a/azure-pipelines.nuke.yml b/azure-pipelines.nuke.yml
new file mode 100644
index 00000000..7e1ffafe
--- /dev/null
+++ b/azure-pipelines.nuke.yml
@@ -0,0 +1,29 @@
+# ------------------------------------------------------------------------------
+#
+#
+# This code was generated.
+#
+# - To turn off auto-generation set:
+#
+# [AzurePipelinesSteps (AutoGenerate = false)]
+#
+# - To trigger manual generation invoke:
+#
+# nuke --configure-build-server --host AzurePipelines
+#
+#
+# ------------------------------------------------------------------------------
+
+#
+parameters:
+ Configuration: 'Release'
+ Artifacts: ''
+ Coverage: ''
+ Verbosity: 'Normal'
+steps:
+ - pwsh: ./build.ps1 BuildVersion Build --skip --configuration '${{ parameters.Configuration }}' --artifacts '${{ parameters.Artifacts }}' --coverage '${{ parameters.Coverage }}' --verbosity '${{ parameters.Verbosity }}'
+ displayName: '⚙ Build'
+ - pwsh: ./build.ps1 Generate_Code_Coverage_Reports Test --skip --configuration '${{ parameters.Configuration }}' --artifacts '${{ parameters.Artifacts }}' --coverage '${{ parameters.Coverage }}' --verbosity '${{ parameters.Verbosity }}'
+ displayName: '🚦 Test'
+ - pwsh: ./build.ps1 Pack --skip --configuration '${{ parameters.Configuration }}' --artifacts '${{ parameters.Artifacts }}' --coverage '${{ parameters.Coverage }}' --verbosity '${{ parameters.Verbosity }}'
+ displayName: '📦 Pack'
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 818ce5d9..ea731ca8 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -1,66 +1,131 @@
trigger:
- batch: true
- branches:
- include:
- - master
- - refs/tags/*
- paths:
- exclude:
- - '**/*.md'
- - '.appveyor.yml'
- - '.codecov.yml'
- - 'GitVersion.yml'
- - 'GitReleaseManager.yaml'
- - .vscode/*
- - .git*
- - .editorconfig
- - .nuke
- - LICENSE
+ batch: true
+ branches:
+ include:
+ - master
+ - refs/tags/*
+ paths:
+ exclude:
+ - '**/*.md'
+ - '.appveyor.yml'
+ - '.codecov.yml'
+ - 'GitVersion.yml'
+ - 'GitReleaseManager.yaml'
+ - .vscode/*
+ - .git*
+ - .editorconfig
+ - .nuke
+ - LICENSE
pr:
- autoCancel: true
- branches:
- include:
- - master
+ autoCancel: true
+ branches:
+ include:
+ - master
resources:
- repositories:
- - repository: rsg
- type: github
- name: RocketSurgeonsGuild/AzureDevopsTemplates
- ref: refs/tags/v0.11.8
- endpoint: github
+ repositories:
+ - repository: rsg
+ type: github
+ name: RocketSurgeonsGuild/AzureDevopsTemplates
+ ref: refs/tags/v0.12.0
+ endpoint: github
variables:
- - name: CONFIGURATION
- value: Release
- - name: VERBOSITY
- value: Normal
- - name: COVERAGE
- value: '$(Agent.BuildDirectory)/c'
- - name: ARTIFACTS
- value: $(Build.ArtifactStagingDirectory)
- - name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE
- value: 'true'
- - name: CodeCovToken
- value: 'c93f6719-da50-4d00-ba2b-b73fd95239e0'
- - group: rsg-bot
+ - name: CONFIGURATION
+ value: Release
+ - name: VERBOSITY
+ value: Normal
+ - name: COVERAGE
+ value: '$(Agent.BuildDirectory)/c'
+ - name: ARTIFACTS
+ value: $(Build.ArtifactStagingDirectory)
+ - name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE
+ value: 'true'
+ - name: CodeCovToken
+ value: 'c93f6719-da50-4d00-ba2b-b73fd95239e0'
+ - group: rsg-bot
+ # Fixes the github package repo warnings on restore
+ - name: EmitAssetsLogMessages
+ value: false
+ - name: HideWarningsAndErrors
+ value: true
jobs:
- - template: pipeline/nuke.yml@rsg
- parameters:
+ - template: jobs/gitversion.yml@rsg
+ - template: jobs/publish-release.yml@rsg
+ parameters:
+ EnableReleaseNotes: true
+ GitHub: true
+ GitHubPackages: true
+ GitHubAuthVariableGroup: rsg-bot
+ PublishNuGetPackagesFromArtifact: 'NuGet - Windows'
+ AuthNuGetFeeds:
+ - name: RocketSurgeonsGuild
+ source: https://nuget.pkg.github.com/RocketSurgeonsGuild/index.json
+ username: $(GitHub.UserName)
+ password: $(GitHub.Token)
+
+ - job: Build
+ dependsOn:
+ - ${{ if startsWith(variables['Build.SourceBranch'], 'refs/tags/v') }}:
+ - GitHub_Draft_Release
+ variables:
+ - group: rsg-bot
+ strategy:
+ matrix:
+ Windows:
+ BuildName: 'Windows'
+ ImageName: 'windows-latest'
+ Linux:
+ BuildName: 'Linux'
+ ImageName: 'ubuntu-latest'
+ macOS:
+ BuildName: 'macOS'
+ ImageName: 'macOS-latest'
+ pool:
+ vmImage: $(ImageName)
+ steps:
+ - template: support/mono.yml@rsg
+ - ${{ if startsWith(variables['Build.SourceBranch'], 'refs/tags/v') }}:
+ - template: support/download-release-notes.yml@rsg
+ - template: support/install-dotnet.yml@rsg
+ parameters:
+ DotNetSdk:
+ - '2.x'
+ - '3.x'
AuthNuGetFeeds:
- - name: RocketSurgeonsGuild
- source: https://nuget.pkg.github.com/RocketSurgeonsGuild/index.json
- username: $(GitHub.UserName)
- password: $(GitHub.Token)
+ - name: RocketSurgeonsGuild
+ source: https://nuget.pkg.github.com/RocketSurgeonsGuild/index.json
+ username: $(GitHub.UserName)
+ password: $(GitHub.Token)
+ - template: support/gitversion-hack.yml@rsg
+
+ - task: DotNetCoreCLI@2
+ displayName: 'dotnet tool restore'
+ inputs:
+ command: custom
+ custom: tool
+ arguments: 'restore'
+
+ - task: DotNetCoreCLI@2
+ displayName: 'dotnet restore'
+ inputs:
+ command: restore
+ feedsToUse: config
+ nugetConfigPath: NuGet.config
+ verbosityRestore: Minimal
+
+ - template: ./azure-pipelines.nuke.yml
+ parameters:
+ Artifacts: $(Artifacts)
Configuration: $(Configuration)
- Verbosity: $(Verbosity)
- GitHub: true
- GitHubAuthVariableGroup: rsg-bot
- GitHubPackages: true
- MyGetPackages: false
- DotNetSdk:
- - '2.x'
- - '3.x'
- NuGetVersion: '5.4.0'
+ Coverage: $(Coverage)
+
+ - template: support/publish-artifacts.yml@rsg
+ parameters:
+ Artifacts: $(Artifacts)
+ Configuration: $(Configuration)
+ Coverage: $(Coverage)
+ Postfix: ' - $(BuildName)'
+ PublishVSTest: true
diff --git a/src/CI/build/Rocket.Surgery.MSBuild.CI.props b/src/CI/build/Rocket.Surgery.MSBuild.CI.props
index 774e29e2..e041fbc0 100644
--- a/src/CI/build/Rocket.Surgery.MSBuild.CI.props
+++ b/src/CI/build/Rocket.Surgery.MSBuild.CI.props
@@ -1,4 +1,7 @@
+
+ false
+