diff --git a/.github/workflows/BuildDeploy.yml b/.github/workflows/BuildDeploy.yml new file mode 100644 index 0000000..f396595 --- /dev/null +++ b/.github/workflows/BuildDeploy.yml @@ -0,0 +1,47 @@ +# ------------------------------------------------------------------------------ +# +# +# This code was generated. +# +# - To turn off auto-generation set: +# +# [GitHubActions (AutoGenerate = false)] +# +# - To trigger manual generation invoke: +# +# nuke --generate-configuration GitHubActions_BuildDeploy --host GitHubActions +# +# +# ------------------------------------------------------------------------------ + +name: BuildDeploy + +on: + push: + branches: + - main + +jobs: + windows-latest: + name: windows-latest + runs-on: windows-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: 'Cache: .nuke/temp, ~/.nuget/packages' + uses: actions/cache@v3 + with: + path: | + .nuke/temp + ~/.nuget/packages + key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }} + - name: 'Run: Compile, Deploy' + run: ./build.cmd Compile Deploy + env: + NuGetApiKey: ${{ secrets.NUGET_API_KEY }} + - name: 'Publish: output' + uses: actions/upload-artifact@v3 + with: + name: output + path: output diff --git a/.github/workflows/BuildOnly.yml b/.github/workflows/BuildOnly.yml new file mode 100644 index 0000000..86be818 --- /dev/null +++ b/.github/workflows/BuildOnly.yml @@ -0,0 +1,40 @@ +# ------------------------------------------------------------------------------ +# +# +# This code was generated. +# +# - To turn off auto-generation set: +# +# [GitHubActions (AutoGenerate = false)] +# +# - To trigger manual generation invoke: +# +# nuke --generate-configuration GitHubActions_BuildOnly --host GitHubActions +# +# +# ------------------------------------------------------------------------------ + +name: BuildOnly + +on: + push: + branches-ignore: + - main + +jobs: + windows-latest: + name: windows-latest + runs-on: windows-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: 'Cache: .nuke/temp, ~/.nuget/packages' + uses: actions/cache@v3 + with: + path: | + .nuke/temp + ~/.nuget/packages + key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }} + - name: 'Run: Compile' + run: ./build.cmd Compile diff --git a/.nuke/build.schema.json b/.nuke/build.schema.json new file mode 100644 index 0000000..4d608a6 --- /dev/null +++ b/.nuke/build.schema.json @@ -0,0 +1,120 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "$ref": "#/definitions/build", + "title": "Build Schema", + "definitions": { + "build": { + "type": "object", + "properties": { + "Configuration": { + "type": "string", + "description": "Configuration to build - Default is 'Debug' (local) or 'Release' (server)", + "enum": [ + "Debug", + "Release" + ] + }, + "Continue": { + "type": "boolean", + "description": "Indicates to continue a previously failed build attempt" + }, + "Help": { + "type": "boolean", + "description": "Shows the help text for this build assembly" + }, + "Host": { + "type": "string", + "description": "Host for execution. Default is 'automatic'", + "enum": [ + "AppVeyor", + "AzurePipelines", + "Bamboo", + "Bitbucket", + "Bitrise", + "GitHubActions", + "GitLab", + "Jenkins", + "Rider", + "SpaceAutomation", + "TeamCity", + "Terminal", + "TravisCI", + "VisualStudio", + "VSCode" + ] + }, + "NoLogo": { + "type": "boolean", + "description": "Disables displaying the NUKE logo" + }, + "NuGetApiKey": { + "type": "string", + "default": "Secrets must be entered via 'nuke :secrets [profile]'" + }, + "Partition": { + "type": "string", + "description": "Partition to use on CI" + }, + "Plan": { + "type": "boolean", + "description": "Shows the execution plan (HTML)" + }, + "Profile": { + "type": "array", + "description": "Defines the profiles to load", + "items": { + "type": "string" + } + }, + "Root": { + "type": "string", + "description": "Root directory during build execution" + }, + "Skip": { + "type": "array", + "description": "List of targets to be skipped. Empty list skips all dependencies", + "items": { + "type": "string", + "enum": [ + "Clean", + "Compile", + "Deploy", + "Pack", + "Print", + "Restore" + ] + } + }, + "Solution": { + "type": "string", + "description": "Path to a solution file that is automatically loaded" + }, + "Target": { + "type": "array", + "description": "List of targets to be invoked. Default is '{default_target}'", + "items": { + "type": "string", + "enum": [ + "Clean", + "Compile", + "Deploy", + "Pack", + "Print", + "Restore" + ] + } + }, + "Verbosity": { + "type": "string", + "description": "Logging verbosity during build execution. Default is 'Normal'", + "enum": [ + "Minimal", + "Normal", + "Quiet", + "Verbose" + ] + } + } + } + } +} diff --git a/build/Build.cs b/build/Build.cs index 66031d4..a2ad2e2 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -65,8 +65,6 @@ partial class Build : NukeBuild .Executes(() => { DotNetRestore(s => s.SetProjectFile(Solution)); - - Solution.RestoreSolutionWorkloads(); }); Target Compile => _ => _