Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 3 additions & 80 deletions .fallout/build.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,38 +21,9 @@
"VSCode"
]
},
"SignPathSettings": {
"type": "object",
"properties": {
"OrganizationId": {
"type": [
"null",
"string"
]
},
"ProjectSlug": {
"type": [
"null",
"string"
]
},
"PolicySlug": {
"type": [
"null",
"string"
]
}
}
},
"ExecutableTarget": {
"type": "string",
"enum": [
"Announce",
"AnnounceDiscord",
"AnnounceMastodon",
"AnnounceSlack",
"AnnounceTwitter",
"Changelog",
"CheckoutExternalRepositories",
"Clean",
"Compile",
Expand All @@ -61,21 +32,15 @@
"DownloadLicenses",
"GeneratePublicApi",
"GenerateTools",
"Hotfix",
"Install",
"InstallFonts",
"Milestone",
"Pack",
"Publish",
"References",
"Release",
"ReleaseImage",
"ReportCoverage",
"ReportDuplicates",
"ReportIssues",
"Restore",
"RunTargetInDockerImageTest",
"SignPackages",
"Test",
"UpdateContributors",
"UpdateStargazers"
Expand All @@ -91,7 +56,7 @@
"Quiet"
]
},
"NukeBuild": {
"FalloutBuild": {
"properties": {
"Continue": {
"type": "boolean",
Expand Down Expand Up @@ -152,9 +117,6 @@
"allOf": [
{
"properties": {
"AutoStash": {
"type": "boolean"
},
"CodecovToken": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
Expand All @@ -166,14 +128,6 @@
"Release"
]
},
"DiscordWebhook": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
},
"FeedzNuGetApiKey": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
},
"GitHubReleaseGitHubToken": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
Expand All @@ -185,22 +139,7 @@
"Major": {
"type": "boolean"
},
"MastodonAccessToken": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
},
"PublicNuGetApiKey": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
},
"SignPathApiToken": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
},
"SignPathSettings": {
"$ref": "#/definitions/SignPathSettings"
},
"SlackWebhook": {
"NuGetApiKey": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
},
Expand All @@ -212,29 +151,13 @@
"type": "integer",
"format": "int32"
},
"TwitterAccessToken": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
},
"TwitterAccessTokenSecret": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
},
"TwitterConsumerKey": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
},
"TwitterConsumerSecret": {
"type": "string",
"default": "Secrets must be entered via 'nuke :secrets [profile]'"
},
"UseHttps": {
"type": "boolean"
}
}
},
{
"$ref": "#/definitions/NukeBuild"
"$ref": "#/definitions/FalloutBuild"
}
]
}
2 changes: 1 addition & 1 deletion .github/workflows/macos-latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#
# - To trigger manual generation invoke:
#
# nuke --generate-configuration GitHubActions_macos-latest --host GitHubActions
# fallout --generate-configuration GitHubActions_macos-latest --host GitHubActions
#
# </auto-generated>
# ------------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ubuntu-latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#
# - To trigger manual generation invoke:
#
# nuke --generate-configuration GitHubActions_ubuntu-latest --host GitHubActions
# fallout --generate-configuration GitHubActions_ubuntu-latest --host GitHubActions
#
# </auto-generated>
# ------------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows-latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#
# - To trigger manual generation invoke:
#
# nuke --generate-configuration GitHubActions_windows-latest --host GitHubActions
# fallout --generate-configuration GitHubActions_windows-latest --host GitHubActions
#
# </auto-generated>
# ------------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion build/Build.CodeGeneration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

partial class Build
{
AbsolutePath SpecificationsDirectory => RootDirectory / "source" / "Fallout.Common" / "Tools";
AbsolutePath SpecificationsDirectory => RootDirectory / "src" / "Fallout.Common" / "Tools";
AbsolutePath ReferencesDirectory => BuildProjectDirectory / "references";

Target References => _ => _
Expand Down
2 changes: 1 addition & 1 deletion src/Fallout.Build/CICD/ConfigurationAttributeBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public void Generate(IReadOnlyCollection<ExecutableTarget> executableTargets)
writer.WriteComment();
writer.WriteComment(" - To trigger manual generation invoke:");
writer.WriteComment();
writer.WriteComment($" nuke --{ConfigurationParameterName} {Id} --host {HostName}");
writer.WriteComment($" fallout --{ConfigurationParameterName} {Id} --host {HostName}");
writer.WriteComment();
writer.WriteComment("</auto-generated>");
writer.WriteComment("------------------------------------------------------------------------------");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,10 @@ void WriteValue(string value)
}
}

if (IncludePaths.Length > 0 || ExcludePaths.Length > 0)
// Exclusive-only patterns must use `paths-ignore`; a `paths:` block of only
// `!`-prefixed entries is a documented GitHub Actions footgun — the workflow
// never fires because no positive pattern matches.
if (IncludePaths.Length > 0)
{
writer.WriteLine("paths:");
using (writer.Indent())
Expand All @@ -77,6 +80,14 @@ void WriteValue(string value)
ExcludePaths.Select(x => $"!{x}").ForEach(WriteValue);
}
}
else if (ExcludePaths.Length > 0)
{
writer.WriteLine("paths-ignore:");
using (writer.Indent())
{
ExcludePaths.ForEach(WriteValue);
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// Generated from https://github.com/ChrisonSimtian/Fallout/blob/main/src/Fallout.Common/Tools/AzureSignTool/AzureSignTool.json

using JetBrains.Annotations;
using Newtonsoft.Json;
using Fallout.Common;
using Fallout.Common.Tooling;
using Fallout.Common.Tools;
using Fallout.Common.Utilities.Collections;
using JetBrains.Annotations;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
Expand All @@ -29,7 +29,7 @@ public partial class AzureSignToolTasks : ToolTasks, IRequireNuGetPackage
/// <summary><p>Azure Sign Tool is similar to <c>signtool</c> in the Windows SDK, with the major difference being that it uses Azure Key Vault for performing the signing process. The usage is like <c>signtool</c>, except with a limited set of options for signing and options for authenticating to Azure Key Vault.</p><p>For more details, visit the <a href="https://github.com/vcsjones/AzureSignTool">official website</a>.</p></summary>
public static IReadOnlyCollection<Output> AzureSignTool(ArgumentStringHandler arguments, string workingDirectory = null, IReadOnlyDictionary<string, string> environmentVariables = null, int? timeout = null, bool? logOutput = null, bool? logInvocation = null, Action<OutputType, string> logger = null, Func<IProcess, object> exitHandler = null) => new AzureSignToolTasks().Run(arguments, workingDirectory, environmentVariables, timeout, logOutput, logInvocation, logger, exitHandler);
/// <summary><p>Azure Sign Tool is similar to <c>signtool</c> in the Windows SDK, with the major difference being that it uses Azure Key Vault for performing the signing process. The usage is like <c>signtool</c>, except with a limited set of options for signing and options for authenticating to Azure Key Vault.</p><p>For more details, visit the <a href="https://github.com/vcsjones/AzureSignTool">official website</a>.</p></summary>
/// <remarks><p>This is a <a href="https://www.nuke.build/docs/common/cli-tools/#fluent-api">CLI wrapper with fluent API</a> that allows to modify the following arguments:</p><ul><li><c>&lt;files&gt;</c> via <see cref="AzureSignToolSettings.Files"/></li><li><c>--additional-certificates</c> via <see cref="AzureSignToolSettings.AdditionalCertificates"/></li><li><c>--azure-key-vault-accesstoken</c> via <see cref="AzureSignToolSettings.KeyVaultAccessToken"/></li><li><c>--azure-key-vault-certificate</c> via <see cref="AzureSignToolSettings.KeyVaultCertificateName"/></li><li><c>--azure-key-vault-client-id</c> via <see cref="AzureSignToolSettings.KeyVaultClientId"/></li><li><c>--azure-key-vault-client-secret</c> via <see cref="AzureSignToolSettings.KeyVaultClientSecret"/></li><li><c>--azure-key-vault-managed-identity</c> via <see cref="AzureSignToolSettings.KeyVaultManagedIdentity"/></li><li><c>--azure-key-vault-tenant-id</c> via <see cref="AzureSignToolSettings.KeyVaultTenantId"/></li><li><c>--azure-key-vault-url</c> via <see cref="AzureSignToolSettings.KeyVaultUrl"/></li><li><c>--continue-on-error</c> via <see cref="AzureSignToolSettings.ContinueOnError"/></li><li><c>--description</c> via <see cref="AzureSignToolSettings.Description"/></li><li><c>--description-url</c> via <see cref="AzureSignToolSettings.DescriptionUrl"/></li><li><c>--file-digest</c> via <see cref="AzureSignToolSettings.FileDigest"/></li><li><c>--input-file-list</c> via <see cref="AzureSignToolSettings.InputFileList"/></li><li><c>--max-degree-of-parallelism</c> via <see cref="AzureSignToolSettings.MaxDegreeOfParallelism"/></li><li><c>--no-page-hashing</c> via <see cref="AzureSignToolSettings.NoPageHashing"/></li><li><c>--page-hashing</c> via <see cref="AzureSignToolSettings.PageHashing"/></li><li><c>--quiet</c> via <see cref="AzureSignToolSettings.Quiet"/></li><li><c>--skip-signed</c> via <see cref="AzureSignToolSettings.SkipSigned"/></li><li><c>--timestamp-authenticode</c> via <see cref="AzureSignToolSettings.TimestampAuthenticodeUrl"/></li><li><c>--timestamp-digest</c> via <see cref="AzureSignToolSettings.TimestampDigest"/></li><li><c>--timestamp-rfc3161</c> via <see cref="AzureSignToolSettings.TimestampRfc3161Url"/></li><li><c>--verbose</c> via <see cref="AzureSignToolSettings.Verbose"/></li></ul></remarks>
/// <remarks><p>This is a <a href="https://github.com/ChrisonSimtian/Fallout">CLI wrapper with fluent API</a> that allows to modify the following arguments:</p><ul><li><c>&lt;files&gt;</c> via <see cref="AzureSignToolSettings.Files"/></li><li><c>--additional-certificates</c> via <see cref="AzureSignToolSettings.AdditionalCertificates"/></li><li><c>--azure-key-vault-accesstoken</c> via <see cref="AzureSignToolSettings.KeyVaultAccessToken"/></li><li><c>--azure-key-vault-certificate</c> via <see cref="AzureSignToolSettings.KeyVaultCertificateName"/></li><li><c>--azure-key-vault-client-id</c> via <see cref="AzureSignToolSettings.KeyVaultClientId"/></li><li><c>--azure-key-vault-client-secret</c> via <see cref="AzureSignToolSettings.KeyVaultClientSecret"/></li><li><c>--azure-key-vault-managed-identity</c> via <see cref="AzureSignToolSettings.KeyVaultManagedIdentity"/></li><li><c>--azure-key-vault-tenant-id</c> via <see cref="AzureSignToolSettings.KeyVaultTenantId"/></li><li><c>--azure-key-vault-url</c> via <see cref="AzureSignToolSettings.KeyVaultUrl"/></li><li><c>--continue-on-error</c> via <see cref="AzureSignToolSettings.ContinueOnError"/></li><li><c>--description</c> via <see cref="AzureSignToolSettings.Description"/></li><li><c>--description-url</c> via <see cref="AzureSignToolSettings.DescriptionUrl"/></li><li><c>--file-digest</c> via <see cref="AzureSignToolSettings.FileDigest"/></li><li><c>--input-file-list</c> via <see cref="AzureSignToolSettings.InputFileList"/></li><li><c>--max-degree-of-parallelism</c> via <see cref="AzureSignToolSettings.MaxDegreeOfParallelism"/></li><li><c>--no-page-hashing</c> via <see cref="AzureSignToolSettings.NoPageHashing"/></li><li><c>--page-hashing</c> via <see cref="AzureSignToolSettings.PageHashing"/></li><li><c>--quiet</c> via <see cref="AzureSignToolSettings.Quiet"/></li><li><c>--skip-signed</c> via <see cref="AzureSignToolSettings.SkipSigned"/></li><li><c>--timestamp-authenticode</c> via <see cref="AzureSignToolSettings.TimestampAuthenticodeUrl"/></li><li><c>--timestamp-digest</c> via <see cref="AzureSignToolSettings.TimestampDigest"/></li><li><c>--timestamp-rfc3161</c> via <see cref="AzureSignToolSettings.TimestampRfc3161Url"/></li><li><c>--verbose</c> via <see cref="AzureSignToolSettings.Verbose"/></li></ul></remarks>
public static IReadOnlyCollection<Output> AzureSignTool(AzureSignToolSettings options = null) => new AzureSignToolTasks().Run<AzureSignToolSettings>(options);
/// <inheritdoc cref="AzureSignToolTasks.AzureSignTool(Fallout.Common.Tools.AzureSignTool.AzureSignToolSettings)"/>
public static IReadOnlyCollection<Output> AzureSignTool(Configure<AzureSignToolSettings> configurator) => new AzureSignToolTasks().Run<AzureSignToolSettings>(configurator.Invoke(new AzureSignToolSettings()));
Expand Down
Loading
Loading