diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
index 2ea7b5869..9c14ee073 100644
--- a/.github/workflows/CI.yml
+++ b/.github/workflows/CI.yml
@@ -19,12 +19,8 @@ name: CI
on:
push:
branches:
- - master
- main
- pull_request:
- branches:
- master
- - main
jobs:
windows-latest:
@@ -32,16 +28,36 @@ jobs:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- - name: Cache .nuke/temp, ~/.nuget/packages
+ - 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: Clean, Compile, Pack'
+ run: ./build.cmd Clean Compile Pack
+ - name: 'Publish: artifacts'
+ uses: actions/upload-artifact@v3
+ with:
+ name: artifacts
+ path: artifacts
+ ubuntu-latest:
+ name: ubuntu-latest
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: 'Cache: .nuke/temp, ~/.nuget/packages'
uses: actions/cache@v3
with:
path: |
.nuke/temp
~/.nuget/packages
- key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
- - name: Run './build.cmd Clean Compile Test Pack'
- run: ./build.cmd Clean Compile Test Pack
- - uses: actions/upload-artifact@v3
+ key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }}
+ - name: 'Run: Clean, Compile, Pack'
+ run: ./build.cmd Clean Compile Pack
+ - name: 'Publish: artifacts'
+ uses: actions/upload-artifact@v3
with:
name: artifacts
path: artifacts
diff --git a/.github/workflows/PR.yml b/.github/workflows/PR.yml
new file mode 100644
index 000000000..9f1a87c92
--- /dev/null
+++ b/.github/workflows/PR.yml
@@ -0,0 +1,59 @@
+# ------------------------------------------------------------------------------
+#
+#
+# This code was generated.
+#
+# - To turn off auto-generation set:
+#
+# [GitHubActions (AutoGenerate = false)]
+#
+# - To trigger manual generation invoke:
+#
+# nuke --generate-configuration GitHubActions_PR --host GitHubActions
+#
+#
+# ------------------------------------------------------------------------------
+
+name: PR
+
+on: [pull_request]
+
+jobs:
+ windows-latest:
+ name: windows-latest
+ runs-on: windows-latest
+ steps:
+ - uses: actions/checkout@v3
+ - 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: Clean, Compile, Pack'
+ run: ./build.cmd Clean Compile Pack
+ - name: 'Publish: artifacts'
+ uses: actions/upload-artifact@v3
+ with:
+ name: artifacts
+ path: artifacts
+ ubuntu-latest:
+ name: ubuntu-latest
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - 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: Clean, Compile, Pack'
+ run: ./build.cmd Clean Compile Pack
+ - name: 'Publish: artifacts'
+ uses: actions/upload-artifact@v3
+ with:
+ name: artifacts
+ path: artifacts
diff --git a/.nuke/build.schema.json b/.nuke/build.schema.json
index 2424dbda5..b02030e15 100644
--- a/.nuke/build.schema.json
+++ b/.nuke/build.schema.json
@@ -1,7 +1,7 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
- "title": "Build Schema",
"$ref": "#/definitions/build",
+ "title": "Build Schema",
"definitions": {
"build": {
"type": "object",
@@ -116,4 +116,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/build.ps1 b/build.ps1
index 8c52d631c..c0c0e6123 100644
--- a/build.ps1
+++ b/build.ps1
@@ -18,7 +18,7 @@ $TempDirectory = "$PSScriptRoot\\.nuke\temp"
$DotNetGlobalFile = "$PSScriptRoot\\global.json"
$DotNetInstallUrl = "https://dot.net/v1/dotnet-install.ps1"
-$DotNetChannel = "Current"
+$DotNetChannel = "STS"
$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = 1
$env:DOTNET_CLI_TELEMETRY_OPTOUT = 1
@@ -65,5 +65,10 @@ else {
Write-Output "Microsoft (R) .NET SDK version $(& $env:DOTNET_EXE --version)"
+if (Test-Path env:NUKE_ENTERPRISE_TOKEN) {
+ & $env:DOTNET_EXE nuget remove source "nuke-enterprise" > $null
+ & $env:DOTNET_EXE nuget add source "https://f.feedz.io/nuke/enterprise/nuget" --name "nuke-enterprise" --username "PAT" --password $env:NUKE_ENTERPRISE_TOKEN > $null
+}
+
ExecSafe { & $env:DOTNET_EXE build $BuildProjectFile /nodeReuse:false /p:UseSharedCompilation=false -nologo -clp:NoSummary --verbosity quiet }
ExecSafe { & $env:DOTNET_EXE run --project $BuildProjectFile --no-build -- $BuildArguments }
diff --git a/build.sh b/build.sh
index 1f3ba09e2..d4a7e51ec 100755
--- a/build.sh
+++ b/build.sh
@@ -14,7 +14,7 @@ TEMP_DIRECTORY="$SCRIPT_DIR//.nuke/temp"
DOTNET_GLOBAL_FILE="$SCRIPT_DIR//global.json"
DOTNET_INSTALL_URL="https://dot.net/v1/dotnet-install.sh"
-DOTNET_CHANNEL="Current"
+DOTNET_CHANNEL="STS"
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
@@ -58,5 +58,10 @@ fi
echo "Microsoft (R) .NET SDK version $("$DOTNET_EXE" --version)"
+if [[ ! -z ${NUKE_ENTERPRISE_TOKEN+x} && "NUKE_ENTERPRISE_TOKEN" != "" ]]; then
+ "$DOTNET_EXE" nuget remove source "nuke-enterprise" &>/dev/null || true
+ "$DOTNET_EXE" nuget add source "https://f.feedz.io/nuke/enterprise/nuget" --name "nuke-enterprise" --username "PAT" --password "$NUKE_ENTERPRISE_TOKEN" --store-password-in-clear-text &>/dev/null || true
+fi
+
"$DOTNET_EXE" build "$BUILD_PROJECT_FILE" /nodeReuse:false /p:UseSharedCompilation=false -nologo -clp:NoSummary --verbosity quiet
"$DOTNET_EXE" run --project "$BUILD_PROJECT_FILE" --no-build -- "$@"
diff --git a/build/Build.GitHubAction.cs b/build/Build.GitHubAction.cs
index cdf442330..53723136d 100644
--- a/build/Build.GitHubAction.cs
+++ b/build/Build.GitHubAction.cs
@@ -2,9 +2,15 @@
[GitHubActions("CI",
GitHubActionsImage.WindowsLatest,
- OnPushBranches = new [] { "master", "main" },
- OnPullRequestBranches = new [] { "master", "main" },
- InvokedTargets = new[] { nameof(Clean), nameof(Compile), nameof(Test), nameof(Pack) }
+ GitHubActionsImage.UbuntuLatest,
+ OnPushBranches = new[] { "main", "master" },
+ InvokedTargets = new[] { nameof(Clean), nameof(Compile), nameof(Pack) }
+)]
+[GitHubActions("PR",
+ GitHubActionsImage.WindowsLatest,
+ GitHubActionsImage.UbuntuLatest,
+ On = new [] { GitHubActionsTrigger.PullRequest },
+ InvokedTargets = new[] { nameof(Clean), nameof(Compile), nameof(Pack) }
)]
partial class Build
{
diff --git a/build/Build.cs b/build/Build.cs
index 834c7061f..05f645d1c 100644
--- a/build/Build.cs
+++ b/build/Build.cs
@@ -3,7 +3,6 @@
using Nuke.Common.ProjectModel;
using Nuke.Common.Tools.DotNet;
using Nuke.Common.Utilities.Collections;
-using static Nuke.Common.IO.FileSystemTasks;
using static Nuke.Common.Tools.DotNet.DotNetTasks;
partial class Build : NukeBuild
@@ -43,7 +42,7 @@ protected override void OnBuildInitialized()
.Before(Restore)
.Executes(() =>
{
- SourceDirectory.GlobDirectories("**/bin", "**/obj").ForEach(DeleteDirectory);
+ SourceDirectory.GlobDirectories("**/bin", "**/obj").ForEach(x => x.DeleteDirectory());
});
Target Restore => _ => _
@@ -64,6 +63,7 @@ protected override void OnBuildInitialized()
.SetDeterministic(IsServerBuild)
.SetContinuousIntegrationBuild(IsServerBuild)
.SetVerbosity(DotNetVerbosity.Minimal)
+ .AddNoWarns(1591) // missing XML documentation comment
.SetProjectFile(Solution)
);
});
diff --git a/build/_build.csproj b/build/_build.csproj
index 644bc72ca..104cf021f 100644
--- a/build/_build.csproj
+++ b/build/_build.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/solution/NPOI.Core.Test.sln b/solution/NPOI.Core.Test.sln
index 5f488f67c..e4b0206b3 100644
--- a/solution/NPOI.Core.Test.sln
+++ b/solution/NPOI.Core.Test.sln
@@ -59,9 +59,7 @@ Global
{DA2CA3BD-1CAC-470C-9FA2-611A5768A76A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DA2CA3BD-1CAC-470C-9FA2-611A5768A76A}.Release|Any CPU.Build.0 = Release|Any CPU
{94B18BCF-84E8-401F-BAAB-0496AA136628}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {94B18BCF-84E8-401F-BAAB-0496AA136628}.Debug|Any CPU.Build.0 = Debug|Any CPU
{94B18BCF-84E8-401F-BAAB-0496AA136628}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {94B18BCF-84E8-401F-BAAB-0496AA136628}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/testcases/main/NPOI.TestCases.Core.csproj b/testcases/main/NPOI.TestCases.Core.csproj
index c52728f82..2519cdf98 100644
--- a/testcases/main/NPOI.TestCases.Core.csproj
+++ b/testcases/main/NPOI.TestCases.Core.csproj
@@ -26,7 +26,7 @@
-
+
diff --git a/testcases/ooxml/NPOI.OOXML.TestCases.Core.csproj b/testcases/ooxml/NPOI.OOXML.TestCases.Core.csproj
index 570757121..b5fcb2530 100644
--- a/testcases/ooxml/NPOI.OOXML.TestCases.Core.csproj
+++ b/testcases/ooxml/NPOI.OOXML.TestCases.Core.csproj
@@ -37,7 +37,7 @@
-
+
diff --git a/testcases/openxml4net/NPOI.OOXML4Net.TestCases.Core.csproj b/testcases/openxml4net/NPOI.OOXML4Net.TestCases.Core.csproj
index 26eeba3d8..a1d847a11 100644
--- a/testcases/openxml4net/NPOI.OOXML4Net.TestCases.Core.csproj
+++ b/testcases/openxml4net/NPOI.OOXML4Net.TestCases.Core.csproj
@@ -25,7 +25,7 @@
-
+