Skip to content

Commit 5ac32c2

Browse files
committed
(build) added build arguments to artifacts
1 parent 8ce006b commit 5ac32c2

File tree

10 files changed

+29
-11
lines changed

10 files changed

+29
-11
lines changed

build/artifacts/Tasks/ArtifactsDotnetToolTest.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ namespace Artifacts.Tasks
55
{
66
[TaskName(nameof(ArtifactsDotnetToolTest))]
77
[TaskDescription("Tests the dotnet global tool in docker container")]
8+
[TaskArgument(Arguments.DockerRegistry, "github", "dockerhub")]
9+
[TaskArgument(Arguments.DockerDotnetVersion, Constants.Version50, Constants.Version31)]
10+
[TaskArgument(Arguments.DockerDistro, Constants.Alpine312, Constants.Debian10, Constants.Ubuntu2004)]
811
[IsDependentOn(typeof(ArtifactsPrepare))]
912
public class ArtifactsDotnetToolTest : FrostingTask<BuildContext>
1013
{

build/artifacts/Tasks/ArtifactsMsBuildCoreTest.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ namespace Artifacts.Tasks
55
{
66
[TaskName(nameof(ArtifactsMsBuildCoreTest))]
77
[TaskDescription("Tests the msbuild package in docker container")]
8+
[TaskArgument(Arguments.DockerRegistry, "github", "dockerhub")]
9+
[TaskArgument(Arguments.DockerDotnetVersion, Constants.Version50, Constants.Version31)]
10+
[TaskArgument(Arguments.DockerDistro, Constants.Alpine312, Constants.Debian10, Constants.Ubuntu2004)]
811
[IsDependentOn(typeof(ArtifactsPrepare))]
912
public class ArtifactsMsBuildCoreTest : FrostingTask<BuildContext>
1013
{

build/artifacts/Tasks/ArtifactsNativeTest.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ namespace Artifacts.Tasks
55
{
66
[TaskName(nameof(ArtifactsNativeTest))]
77
[TaskDescription("Tests the native executables in docker container")]
8+
[TaskArgument(Arguments.DockerRegistry, "github", "dockerhub")]
9+
[TaskArgument(Arguments.DockerDotnetVersion, Constants.Version50, Constants.Version31)]
10+
[TaskArgument(Arguments.DockerDistro, Constants.Alpine312, Constants.Debian10, Constants.Ubuntu2004)]
811
[IsDependentOn(typeof(ArtifactsPrepare))]
912
public class ArtifactsNativeTest : FrostingTask<BuildContext>
1013
{

build/artifacts/Tasks/ArtifactsPrepare.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ namespace Artifacts.Tasks
55
{
66
[TaskName(nameof(ArtifactsPrepare))]
77
[TaskDescription("Pulls the docker images needed for testing the artifacts")]
8+
[TaskArgument(Arguments.DockerRegistry, "github", "dockerhub")]
9+
[TaskArgument(Arguments.DockerDotnetVersion, Constants.Version50, Constants.Version31)]
10+
[TaskArgument(Arguments.DockerDistro, Constants.Alpine312, Constants.Debian10, Constants.Ubuntu2004)]
811
public class ArtifactsPrepare : FrostingTask<BuildContext>
912
{
1013
public override bool ShouldRun(BuildContext context)

build/artifacts/Tasks/ArtifactsTest.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ namespace Artifacts.Tasks
55
{
66
[TaskName(nameof(ArtifactsTest))]
77
[TaskDescription("Tests packages in docker container")]
8+
[TaskArgument(Arguments.DockerRegistry, "github", "dockerhub")]
9+
[TaskArgument(Arguments.DockerDotnetVersion, Constants.Version50, Constants.Version31)]
10+
[TaskArgument(Arguments.DockerDistro, Constants.Alpine312, Constants.Debian10, Constants.Ubuntu2004)]
811
[IsDependentOn(typeof(ArtifactsNativeTest))]
912
[IsDependentOn(typeof(ArtifactsDotnetToolTest))]
1013
[IsDependentOn(typeof(ArtifactsMsBuildCoreTest))]

build/build/Startup.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System;
2-
using Cake.Core.IO;
32
using Cake.Frosting;
43
using Common.Lifetime;
54
using Common.Utilities;

build/build/Tasks/Test/UnitTest.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Linq;
4-
using Build.Utilities;
54
using Cake.Common;
65
using Cake.Common.Build;
76
using Cake.Common.Build.AzurePipelines.Data;
@@ -18,7 +17,7 @@ namespace Build.Tasks
1817
{
1918
[TaskName(nameof(UnitTest))]
2019
[TaskDescription("Run the unit tests")]
21-
[TaskArgument(Arguments.DotnetTarget, "net5.0", "net48", "netcoreapp3.1")]
20+
[TaskArgument(Arguments.DotnetTarget, Constants.NetVersion50, Constants.CoreFxVersion31, Constants.FullFxVersion48)]
2221
[IsDependentOn(typeof(Build))]
2322
public class UnitTest : FrostingTask<BuildContext>
2423
{

build/common/Utilities/Constants.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,26 @@ public class Constants
1313
public const string FullFxVersion48 = "net48";
1414
public static readonly string[] VersionsToBuild = { Version50, Version31 };
1515

16-
public const string DockerDistroLatest = "debian.10-x64";
1716
private const string DockerImageName = "gittools/build-images";
1817

1918
public static readonly string DockerHubRegistry = $"docker.io/{DockerImageName}";
2019
public static readonly string GitHubContainerRegistry = $"ghcr.io/{DockerImageName}";
20+
21+
public const string Alpine312 = "alpine.3.12-x64";
22+
public const string Debian10 = "debian.10-x64";
23+
public const string Ubuntu2004 = "ubuntu.20.04-x64";
24+
public const string DockerDistroLatest = Debian10;
2125
public static readonly string[] DockerDistrosToBuild =
2226
{
23-
"alpine.3.12-x64",
27+
Alpine312,
2428
"centos.7-x64",
2529
"centos.8-x64",
2630
"debian.9-x64",
27-
"debian.10-x64",
31+
Debian10,
2832
"fedora.33-x64",
2933
"ubuntu.16.04-x64",
3034
"ubuntu.18.04-x64",
31-
"ubuntu.20.04-x64"
35+
Ubuntu2004
3236
};
3337
public const string NugetOrgUrl = "https://api.nuget.org/v3/index.json";
3438
public const string GithubPackagesUrl = "https://nuget.pkg.github.com/gittools/index.json";

build/common/Utilities/Extensions.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,11 @@ public static string GetTaskArguments(this Type task)
4545
throw new ArgumentNullException(nameof(task));
4646
}
4747

48-
var attribute = task.GetCustomAttribute<TaskArgumentAttribute>();
49-
if (attribute != null)
48+
var attributes = task.GetCustomAttributes<TaskArgumentAttribute>().ToArray();
49+
if (attributes.Any())
5050
{
51-
return $"[--{attribute.Name} ({string.Join(" | ", attribute.PossibleValues)})]";
51+
var arguments = attributes.Select(attribute => $"[--{attribute.Name} ({string.Join(" | ", attribute.PossibleValues)})]");
52+
return string.Join(" ", arguments);
5253
}
5354
return string.Empty;
5455
}

build/common/Utilities/TaskArgumentsAttribute.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace Common.Utilities
66
/// Represents a task additional arguments.
77
/// </summary>
88
/// <seealso cref="Attribute" />
9-
[AttributeUsage(AttributeTargets.Class, Inherited = false)]
9+
[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = true)]
1010
public class TaskArgumentAttribute : Attribute
1111
{
1212
public string Name { get; set; }

0 commit comments

Comments
 (0)