ricaun.Nuke
1.12.0
Prefix Reserved
dotnet add package ricaun.Nuke --version 1.12.0
NuGet\Install-Package ricaun.Nuke -Version 1.12.0
<PackageReference Include="ricaun.Nuke" Version="1.12.0" />
<PackageVersion Include="ricaun.Nuke" Version="1.12.0" />
<PackageReference Include="ricaun.Nuke" />
paket add ricaun.Nuke --version 1.12.0
#r "nuget: ricaun.Nuke, 1.12.0"
#:package ricaun.Nuke@1.12.0
#addin nuget:?package=ricaun.Nuke&version=1.12.0
#tool nuget:?package=ricaun.Nuke&version=1.12.0
ricaun.Nuke
This package is to simplify the build automation system using Nuke.Common.
Examples
Build.cs - IPublish
using Nuke.Common;
using Nuke.Common.Execution;
using ricaun.Nuke;
using ricaun.Nuke.Components;
class Build : NukeBuild, IPublish
{
// string IHazMainProject.MainName => "ProjectName";
public static int Main() => Execute<Build>(x => x.From<IPublish>().Build);
}
Environment Variables
env:
GitHubToken: ${{ secrets.GITHUB_TOKEN }}
SignFile: ${{ secrets.SIGN_FILE }}
SignPassword: ${{ secrets.SIGN_PASSWORD }}
Build.cs - IPublishPack
using Nuke.Common;
using Nuke.Common.Execution;
using ricaun.Nuke;
using ricaun.Nuke.Components;
class Build : NukeBuild, IPublishPack
{
// string IHazMainProject.MainName => "ProjectName";
public static int Main() => Execute<Build>(x => x.From<IPublishPack>().Build);
}
Environment Variables
Publish Github
env:
GitHubToken: ${{ secrets.GITHUB_TOKEN }}
SignFile and SignPassword
env:
GitHubToken: ${{ secrets.GITHUB_TOKEN }}
SignFile: ${{ secrets.SIGN_FILE }}
SignPassword: ${{ secrets.SIGN_PASSWORD }}
SignFile could be a file/url/Base64 to the certificate file.
SignPassword is the password to the certificate file.
SignFile using Azure Key Vault
To simplify the configuration to sign with Azure Key Vault using the same environment variables are used SignFile and SignPassword.
env:
GitHubToken: ${{ secrets.GITHUB_TOKEN }}
SignFile: ${{ secrets.SIGN_FILE_AZURE }}
SignPassword: ${{ secrets.SIGN_PASSWORD_AZURE }}
SIGN_FILE_AZURE
The SIGN_FILE_AZURE is a json with the base configuration of the certificated in the Azure Key Vault:
{
"AzureKeyVaultCertificate": "AzureKeyVaultCertificate",
"AzureKeyVaultUrl": "AzureKeyVaultUrl",
"AzureKeyVaultClientId": "AzureKeyVaultClientId",
"AzureKeyVaultTenantId": "AzureKeyVaultTenantId",
"TimestampUrl" : "http://timestamp.digicert.com"
"TimestampDigest" : "sha256"
}
The TimestampUrl and TimestampDigest are optional.
SIGN_PASSWORD_AZURE
The SIGN_PASSWORD_AZURE is the AzureKeyVaultClientSecret of the Azure Key Vault certificate.
Publish Package NuGet
env:
GitHubToken: ${{ secrets.GITHUB_TOKEN }}
SignFile: ${{ secrets.SIGN_FILE }}
SignPassword: ${{ secrets.SIGN_PASSWORD }}
NuGetApiUrl: ${{ secrets.NUGET_API_URL }}
NuGetApiKey: ${{ secrets.NUGET_API_KEY }}
Build.cs - ITest
ITest runs all the TestLocalProjectName tests on local build and server build.
using Nuke.Common;
using Nuke.Common.Execution;
using ricaun.Nuke;
using ricaun.Nuke.Components;
class Build : NukeBuild, IPublish, ITest
{
// bool ITest.TestBuildStopWhenFailed => true;
// string ITest.TestProjectName => "*.Tests";
public static int Main() => Execute<Build>(x => x.From<IPublish>().Build);
}
Build.cs - ITestLocal
ITestLocal runs all the TestLocalProjectName tests only on local build.
using Nuke.Common;
using Nuke.Common.Execution;
using ricaun.Nuke;
using ricaun.Nuke.Components;
class Build : NukeBuild, IPublish, ITestLocal
{
// bool ITestLocal.TestLocalBuildStopWhenFailed => true;
// string ITestLocal.TestLocalProjectName => "*.Tests";
public static int Main() => Execute<Build>(x => x.From<IPublish>().Build);
}
Build.cs - ITestServer
ITestServer runs all the TestServerProjectName tests only on server build.
using Nuke.Common;
using Nuke.Common.Execution;
using ricaun.Nuke;
using ricaun.Nuke.Components;
class Build : NukeBuild, IPublish, ITestServer
{
// bool ITestServer.TestServerBuildStopWhenFailed => true;
// string ITestServer.TestServerProjectName => "*.Tests";
public static int Main() => Execute<Build>(x => x.From<IPublish>().Build);
}
License
This package is licensed under the MIT License.
Do you like this package? Please star this project on GitHub!
Copyright © 2021 ricaun
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- GitVersion.CommandLine (>= 5.12.0)
- NuGet.CommandLine (>= 7.3.1)
- NuGet.Packaging (>= 6.12.5)
- Nuke.Common (>= 10.1.0)
- System.Security.Cryptography.Xml (>= 9.0.15)
-
net8.0
- GitVersion.CommandLine (>= 5.12.0)
- Microsoft.Build (>= 17.11.48)
- Microsoft.Build.Tasks.Core (>= 17.11.48)
- Microsoft.Build.Utilities.Core (>= 17.11.48)
- NuGet.CommandLine (>= 7.3.1)
- NuGet.Packaging (>= 6.12.5)
- Nuke.Common (>= 9.0.4)
- System.Security.Cryptography.Xml (>= 8.0.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ricaun.Nuke:
| Package | Downloads |
|---|---|
|
ricaun.Nuke.PackageBuilder
Nuke PackageBuilder for Autodesk Application. |
GitHub repositories
This package is not used by any popular GitHub repositories.