From f8fe2c72a41b15e622b50dfa349398c4af9eb401 Mon Sep 17 00:00:00 2001 From: Bruno Massa Date: Wed, 3 Apr 2024 11:48:50 -0500 Subject: [PATCH 1/4] feat: use the Scratch container base image --- .build.Nuke/Build.Container.cs | 80 ++++---- .gitlab-ci.yml | 2 +- .nuke/build.schema.json | 330 +++++++++++++++++---------------- Dockerfile | 10 +- 4 files changed, 217 insertions(+), 205 deletions(-) diff --git a/.build.Nuke/Build.Container.cs b/.build.Nuke/Build.Container.cs index 888d831..901d48e 100644 --- a/.build.Nuke/Build.Container.cs +++ b/.build.Nuke/Build.Container.cs @@ -14,7 +14,7 @@ namespace SuCoS; sealed partial class Build : NukeBuild { [Parameter("GitLab Project CI_REGISTRY_IMAGE")] - readonly string containerRegistryImage; + readonly string containerRegistryImage = "sucos"; // local development string ContainerRegistryImage => containerRegistryImage ?? $"registry.gitlab.com/{GitLab?.ProjectPath}"; @@ -27,42 +27,44 @@ sealed partial class Build : NukeBuild .OnlyWhenStatic(() => runtimeIdentifier != "win-x64") .Executes(() => { - var tagsOriginal = new[] { "latest", Version, VersionMajorMinor, VersionMajor }; - var tags = tagsOriginal.Select(tag => $"{runtimeIdentifier}-{tag}").ToList(); - if (containerDefaultRID == runtimeIdentifier) - { - tags.AddRange(tagsOriginal); - } + var tags = ContainerTags(); + + // Build the Container image + _ = DockerTasks.DockerImageBuild(dbs => dbs + .SetPath(PublishDirectory) + .SetFile($"./Dockerfile") + .SetTag(tags.Select(tag => $"{ContainerRegistryImage}:{tag}").ToArray()) + .SetBuildArg([$"BASE_IMAGE={BaseImage}", $"COPY_PATH={PublishDirectory}"]) + .SetProcessLogger((outputType, output) => + { + // A bug this log type value + if (outputType == OutputType.Std) + Log.Information(output); + else + Log.Error(output); + }) + ); + }); - // Build the Container image - _ = DockerTasks.DockerBuild(dbs => dbs - .SetPath(PublishDirectory) - .SetFile($"./Dockerfile") - .SetTag(tags.Select(tag => $"{ContainerRegistryImage}:{tag}").ToArray()) - .SetBuildArg([$"BASE_IMAGE={BaseImage}", $"COPY_PATH={PublishDirectory}"]) - .SetProcessLogger((outputType, output) => - { - // A bug this log type value - if (outputType != OutputType.Std) - Log.Information(output); - else - Log.Error(output); - }) - ); + public Target PublishContainer => td => td + .DependsOn(CreateContainer) + .Executes(() => + { + var tags = ContainerTags(); - // Log in to the Docker registry - _ = DockerTasks.DockerLogin(_ => _ - .SetServer("registry.gitlab.com") - .SetUsername("gitlab-ci-token") - .SetPassword(GitLab.JobToken) - ); + // Log in to the Docker registry + _ = DockerTasks.DockerLogin(_ => _ + .SetServer("registry.gitlab.com") + .SetUsername("gitlab-ci-token") + .SetPassword(GitLab.JobToken) + ); // Push the container images foreach (var tag in tags) { - _ = DockerTasks.DockerPush(_ => _ - .SetName($"{ContainerRegistryImage}:{tag}") - ); + _ = DockerTasks.DockerPush(_ => _ + .SetName($"{ContainerRegistryImage}:{tag}") + ); // Create a link to the GitLab release var tagLink = GitLabAPIUrl($"?orderBy=NAME&sort=asc&search[]={tag}"); @@ -76,4 +78,20 @@ sealed partial class Build : NukeBuild "alpine-x64" => "alpine", _ => throw new ArgumentException($"There is no container image for: {runtimeIdentifier}"), }; + + private System.Collections.Generic.List ContainerTags() + { + if (IsLocalBuild) + { + return ["local"]; + } + var tagsOriginal = new[] { "latest", Version, VersionMajorMinor, VersionMajor }; + var tags = tagsOriginal.Select(tag => $"{runtimeIdentifier}-{tag}").ToList(); + if (containerDefaultRID == runtimeIdentifier) + { + tags.AddRange(tagsOriginal); + } + + return tags; + } } diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 65a0a99..8359616 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -78,7 +78,7 @@ publish: - chmod +x ./build.sh script: - | - ./build.sh CreatePackage CreateContainer \ + ./build.sh CreatePackage PublishContainer \ --runtime-identifier $RID \ --publish-directory "./publish/SuCoS-$RID" \ --publish-self-contained $PUBLISH_SELF_CONTAINED \ diff --git a/.nuke/build.schema.json b/.nuke/build.schema.json index 87122c0..7201120 100644 --- a/.nuke/build.schema.json +++ b/.nuke/build.schema.json @@ -1,164 +1,166 @@ -{ - "$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)" - }, - "containerDefaultRID": { - "type": "string", - "description": "GitLab Project Full Address" - }, - "containerRegistryImage": { - "type": "string", - "description": "GitLab Project CI_REGISTRY_IMAGE" - }, - "Continue": { - "type": "boolean", - "description": "Indicates to continue a previously failed build attempt" - }, - "gitlabPrivateToken": { - "type": "string", - "description": "GitLab private token" - }, - "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" - ] - }, - "isScheduled": { - "type": "boolean", - "description": "If the pipeline was triggered by a schedule (or manually)" - }, - "NoLogo": { - "type": "boolean", - "description": "Disables displaying the NUKE logo" - }, - "packageName": { - "type": "string", - "description": "package-name (default: SuCoS)" - }, - "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" - } - }, - "publishDirectory": { - "type": "string", - "description": "publish-directory (default: ./publish/{runtimeIdentifier})" - }, - "publishSelfContained": { - "type": "boolean", - "description": "publish-self-contained (default: true)" - }, - "publishSingleFile": { - "type": "boolean", - "description": "publish-single-file (default: true)" - }, - "publishTrimmed": { - "type": "boolean", - "description": "publish-trimmed (default: false)" - }, - "Root": { - "type": "string", - "description": "Root directory during build execution" - }, - "runtimeIdentifier": { - "type": "string", - "description": "Runtime identifier for the build (e.g., win-x64, linux-x64, osx-x64) (default: linux-x64)" - }, - "Skip": { - "type": "array", - "description": "List of targets to be skipped. Empty list skips all dependencies", - "items": { - "type": "string", - "enum": [ - "CheckNewCommits", - "Clean", - "Compile", - "CreateContainer", - "CreatePackage", - "GitLabCreateRelease", - "GitLabCreateTag", - "Publish", - "Restore", - "ShowCurrentVersion", - "Test", - "TestReport" - ] - } - }, - "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": [ - "CheckNewCommits", - "Clean", - "Compile", - "CreateContainer", - "CreatePackage", - "GitLabCreateRelease", - "GitLabCreateTag", - "Publish", - "Restore", - "ShowCurrentVersion", - "Test", - "TestReport" - ] - } - }, - "Verbosity": { - "type": "string", - "description": "Logging verbosity during build execution. Default is 'Normal'", - "enum": [ - "Minimal", - "Normal", - "Quiet", - "Verbose" - ] - } - } - } - } -} +{ + "$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)" + }, + "containerDefaultRID": { + "type": "string", + "description": "GitLab Project Full Address" + }, + "containerRegistryImage": { + "type": "string", + "description": "GitLab Project CI_REGISTRY_IMAGE" + }, + "Continue": { + "type": "boolean", + "description": "Indicates to continue a previously failed build attempt" + }, + "gitlabPrivateToken": { + "type": "string", + "description": "GitLab private token" + }, + "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" + ] + }, + "isScheduled": { + "type": "boolean", + "description": "If the pipeline was triggered by a schedule (or manually)" + }, + "NoLogo": { + "type": "boolean", + "description": "Disables displaying the NUKE logo" + }, + "packageName": { + "type": "string", + "description": "package-name (default: SuCoS)" + }, + "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" + } + }, + "publishDirectory": { + "type": "string", + "description": "publish-directory (default: ./publish/{runtimeIdentifier})" + }, + "publishSelfContained": { + "type": "boolean", + "description": "publish-self-contained (default: true)" + }, + "publishSingleFile": { + "type": "boolean", + "description": "publish-single-file (default: true)" + }, + "publishTrimmed": { + "type": "boolean", + "description": "publish-trimmed (default: false)" + }, + "Root": { + "type": "string", + "description": "Root directory during build execution" + }, + "runtimeIdentifier": { + "type": "string", + "description": "Runtime identifier for the build (e.g., win-x64, linux-x64, osx-x64) (default: linux-x64)" + }, + "Skip": { + "type": "array", + "description": "List of targets to be skipped. Empty list skips all dependencies", + "items": { + "type": "string", + "enum": [ + "CheckNewCommits", + "Clean", + "Compile", + "CreateContainer", + "CreatePackage", + "GitLabCreateRelease", + "GitLabCreateTag", + "Publish", + "PublishContainer", + "Restore", + "ShowCurrentVersion", + "Test", + "TestReport" + ] + } + }, + "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": [ + "CheckNewCommits", + "Clean", + "Compile", + "CreateContainer", + "CreatePackage", + "GitLabCreateRelease", + "GitLabCreateTag", + "Publish", + "PublishContainer", + "Restore", + "ShowCurrentVersion", + "Test", + "TestReport" + ] + } + }, + "Verbosity": { + "type": "string", + "description": "Logging verbosity during build execution. Default is 'Normal'", + "enum": [ + "Minimal", + "Normal", + "Quiet", + "Verbose" + ] + } + } + } + } +} diff --git a/Dockerfile b/Dockerfile index c6b8d17..3972eeb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,6 @@ -ARG BASE_IMAGE - -FROM ${BASE_IMAGE} - -# Set the working directory in the container -WORKDIR /app +FROM scratch # Copy the published output from the build stage COPY ./* . ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true - -RUN chmod +x ./SuCoS -RUN ln -s /app/SuCoS /usr/local/bin/SuCoS -- GitLab From 12186c1f63011405e0704d98bd2ae5ec0ed0cbc3 Mon Sep 17 00:00:00 2001 From: Bruno Massa Date: Wed, 3 Apr 2024 13:55:38 -0500 Subject: [PATCH 2/4] feat: use dotnet runtime deps image --- .build.Nuke/Build.Container.cs | 64 ++++++++++++++-------------------- .build.Nuke/Build.GitLab.cs | 31 +++++++++++++++- .build.Nuke/Build.Publish.cs | 1 - .gitlab-ci.yml | 4 +-- .nuke/build.schema.json | 8 ++--- Dockerfile | 6 ++-- 6 files changed, 67 insertions(+), 47 deletions(-) diff --git a/.build.Nuke/Build.Container.cs b/.build.Nuke/Build.Container.cs index 901d48e..d67f196 100644 --- a/.build.Nuke/Build.Container.cs +++ b/.build.Nuke/Build.Container.cs @@ -3,6 +3,7 @@ using Nuke.Common.Tooling; using Nuke.Common.Tools.Docker; using Serilog; using System; +using System.Collections.Generic; using System.Linq; namespace SuCoS; @@ -14,15 +15,17 @@ namespace SuCoS; sealed partial class Build : NukeBuild { [Parameter("GitLab Project CI_REGISTRY_IMAGE")] - readonly string containerRegistryImage = "sucos"; // local development + readonly string containerRegistryImage; - string ContainerRegistryImage => containerRegistryImage ?? $"registry.gitlab.com/{GitLab?.ProjectPath}"; + string ContainerRegistryImage => containerRegistryImage ?? "sucos"; [Parameter("GitLab Project Full Address")] readonly string containerDefaultRID = "linux-x64"; + /// + /// Generate the Container image + /// public Target CreateContainer => td => td - .DependsOn(Publish) .DependsOn(CheckNewCommits) .OnlyWhenStatic(() => runtimeIdentifier != "win-x64") .Executes(() => @@ -37,56 +40,43 @@ sealed partial class Build : NukeBuild .SetBuildArg([$"BASE_IMAGE={BaseImage}", $"COPY_PATH={PublishDirectory}"]) .SetProcessLogger((outputType, output) => { - // A bug this log type value if (outputType == OutputType.Std) Log.Information(output); else - Log.Error(output); + Log.Debug(output); }) ); }); - public Target PublishContainer => td => td - .DependsOn(CreateContainer) - .Executes(() => - { - var tags = ContainerTags(); - - // Log in to the Docker registry - _ = DockerTasks.DockerLogin(_ => _ - .SetServer("registry.gitlab.com") - .SetUsername("gitlab-ci-token") - .SetPassword(GitLab.JobToken) - ); - - // Push the container images - foreach (var tag in tags) - { - _ = DockerTasks.DockerPush(_ => _ - .SetName($"{ContainerRegistryImage}:{tag}") - ); - - // Create a link to the GitLab release - var tagLink = GitLabAPIUrl($"?orderBy=NAME&sort=asc&search[]={tag}"); - GitLabCreateReleaseLink($"docker-{tag}", tagLink); - } - }); - string BaseImage => runtimeIdentifier switch { - "linux-x64" => "ubuntu", - "alpine-x64" => "alpine", + "linux-x64" => "mcr.microsoft.com/dotnet/runtime-deps:8.0-jammy-chiseled", + "linux-musl-x64" => "mcr.microsoft.com/dotnet/runtime-deps:8.0-alpine", _ => throw new ArgumentException($"There is no container image for: {runtimeIdentifier}"), }; - private System.Collections.Generic.List ContainerTags() + /// + /// Return the proper image tag for a given OS. For the second tupple value, if the image mush be marked as "latest" + /// + (string, bool) ContainerRuntimeIdentifier => runtimeIdentifier switch + { + "linux-x64" => ("linux-x64", true), + "linux-musl-x64" => ("alpine", false), + _ => throw new ArgumentException($"There is no container image for: {runtimeIdentifier}"), + }; + + private List ContainerTags() { if (IsLocalBuild) { - return ["local"]; + return ["local", $"local-{ContainerRuntimeIdentifier.Item1}"]; + } + List tagsOriginal = [Version, VersionMajorMinor, VersionMajor]; + if (ContainerRuntimeIdentifier.Item2) + { + tagsOriginal.Add("latest"); } - var tagsOriginal = new[] { "latest", Version, VersionMajorMinor, VersionMajor }; - var tags = tagsOriginal.Select(tag => $"{runtimeIdentifier}-{tag}").ToList(); + var tags = tagsOriginal.Select(tag => $"{ContainerRuntimeIdentifier.Item1}-{tag}").ToList(); if (containerDefaultRID == runtimeIdentifier) { tags.AddRange(tagsOriginal); diff --git a/.build.Nuke/Build.GitLab.cs b/.build.Nuke/Build.GitLab.cs index 833d9e9..8a4af32 100644 --- a/.build.Nuke/Build.GitLab.cs +++ b/.build.Nuke/Build.GitLab.cs @@ -1,6 +1,7 @@ using Nuke.Common; using Nuke.Common.CI.GitLab; using Nuke.Common.IO; +using Nuke.Common.Tools.Docker; using Nuke.Common.Tools.Git; using Serilog; using System; @@ -42,7 +43,7 @@ sealed partial class Build : NukeBuild /// One for each runtime identifier. /// /// - public Target CreatePackage => td => td + public Target GitLabUploadPackage => td => td .DependsOn(Publish) .DependsOn(CheckNewCommits) .Requires(() => gitlabPrivateToken) @@ -157,6 +158,34 @@ sealed partial class Build : NukeBuild }); /// + /// Push all images created to the Registry + /// + public Target GitLabPushContainer => td => td + .DependsOn(CreateContainer) + .Executes(() => + { + var tags = ContainerTags(); + + // Log in to the Docker registry + _ = DockerTasks.DockerLogin(_ => _ + .SetServer("registry.gitlab.com") + .SetUsername("gitlab-ci-token") + .SetPassword(GitLab.JobToken) + ); + + // Push the container images + foreach (var tag in tags) + { + _ = DockerTasks.DockerPush(_ => _ + .SetName($"{ContainerRegistryImage}:{tag}") + ); + + // Create a link to the GitLab release + var tagLink = GitLabAPIUrl($"?orderBy=NAME&sort=asc&search[]={tag}"); + GitLabCreateReleaseLink($"docker-{tag}", tagLink); + } + }); + /// /// Creates a HTTP client and set the authentication header. /// /// If the job token should be used instead of the private token. diff --git a/.build.Nuke/Build.Publish.cs b/.build.Nuke/Build.Publish.cs index 042775f..ce80059 100644 --- a/.build.Nuke/Build.Publish.cs +++ b/.build.Nuke/Build.Publish.cs @@ -28,7 +28,6 @@ sealed partial class Build : NukeBuild readonly bool publishTrimmed = false; Target Publish => td => td - .DependsOn(Restore) .Executes(() => { _ = DotNetPublish(s => s diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8359616..a0c1d7b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -78,7 +78,7 @@ publish: - chmod +x ./build.sh script: - | - ./build.sh CreatePackage PublishContainer \ + ./build.sh Restore Publish GitLabUploadPackage PushContainer \ --runtime-identifier $RID \ --publish-directory "./publish/SuCoS-$RID" \ --publish-self-contained $PUBLISH_SELF_CONTAINED \ @@ -90,4 +90,4 @@ publish: matrix: - RID: "win-x64" - RID: "linux-x64" - # - RID: "alpine-x64" + - RID: "linux-musl-x64" diff --git a/.nuke/build.schema.json b/.nuke/build.schema.json index 7201120..930db2d 100644 --- a/.nuke/build.schema.json +++ b/.nuke/build.schema.json @@ -112,11 +112,11 @@ "Clean", "Compile", "CreateContainer", - "CreatePackage", "GitLabCreateRelease", "GitLabCreateTag", + "GitLabPushContainer", + "GitLabUploadPackage", "Publish", - "PublishContainer", "Restore", "ShowCurrentVersion", "Test", @@ -138,11 +138,11 @@ "Clean", "Compile", "CreateContainer", - "CreatePackage", "GitLabCreateRelease", "GitLabCreateTag", + "GitLabPushContainer", + "GitLabUploadPackage", "Publish", - "PublishContainer", "Restore", "ShowCurrentVersion", "Test", diff --git a/Dockerfile b/Dockerfile index 3972eeb..857ab2d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,8 @@ -FROM scratch +ARG BASE_IMAGE + +FROM ${BASE_IMAGE} # Copy the published output from the build stage -COPY ./* . +COPY ./* /usr/local/bin/ ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true -- GitLab From 2a144bb13d2a654af07b1a1cf89d996bef91f5da Mon Sep 17 00:00:00 2001 From: Bruno Massa Date: Wed, 3 Apr 2024 14:07:04 -0500 Subject: [PATCH 3/4] fix: Nuke target ordering --- .build.Nuke/Build.Compile.cs | 4 ++-- .build.Nuke/Build.Container.cs | 1 + .build.Nuke/Build.Publish.cs | 1 + .gitlab-ci.yml | 4 ++-- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.build.Nuke/Build.Compile.cs b/.build.Nuke/Build.Compile.cs index e784aba..d298cce 100644 --- a/.build.Nuke/Build.Compile.cs +++ b/.build.Nuke/Build.Compile.cs @@ -27,7 +27,7 @@ sealed partial class Build : NukeBuild }); Target Restore => td => td - .DependsOn(Clean) + .After(Clean) .Executes(() => { _ = DotNetRestore(s => s @@ -35,7 +35,7 @@ sealed partial class Build : NukeBuild }); Target Compile => td => td - .DependsOn(Restore) + .After(Restore) .Executes(() => { Log.Debug("Configuration {Configuration}", configurationSet); diff --git a/.build.Nuke/Build.Container.cs b/.build.Nuke/Build.Container.cs index d67f196..5d7849a 100644 --- a/.build.Nuke/Build.Container.cs +++ b/.build.Nuke/Build.Container.cs @@ -26,6 +26,7 @@ sealed partial class Build : NukeBuild /// Generate the Container image /// public Target CreateContainer => td => td + .After(Publish) .DependsOn(CheckNewCommits) .OnlyWhenStatic(() => runtimeIdentifier != "win-x64") .Executes(() => diff --git a/.build.Nuke/Build.Publish.cs b/.build.Nuke/Build.Publish.cs index ce80059..5894445 100644 --- a/.build.Nuke/Build.Publish.cs +++ b/.build.Nuke/Build.Publish.cs @@ -28,6 +28,7 @@ sealed partial class Build : NukeBuild readonly bool publishTrimmed = false; Target Publish => td => td + .After(Restore) .Executes(() => { _ = DotNetPublish(s => s diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a0c1d7b..456116c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -58,7 +58,7 @@ check-and-create-release: - web script: - | - ./build.sh Compile GitLabCreateRelease \ + ./build.sh Restore Compile GitLabCreateRelease \ --is-scheduled $CI_PIPELINE_SCHEDULED \ --gitlab-private-token $GITLAB_PRIVATE_TOKEN @@ -78,7 +78,7 @@ publish: - chmod +x ./build.sh script: - | - ./build.sh Restore Publish GitLabUploadPackage PushContainer \ + ./build.sh Restore Publish GitLabUploadPackage GitLabPushContainer \ --runtime-identifier $RID \ --publish-directory "./publish/SuCoS-$RID" \ --publish-self-contained $PUBLISH_SELF_CONTAINED \ -- GitLab From 868db6bf99c7e94fe5367c9ed28a2069ac13fb67 Mon Sep 17 00:00:00 2001 From: Bruno Massa Date: Wed, 3 Apr 2024 14:14:19 -0500 Subject: [PATCH 4/4] chore: remove ci commented code --- .gitlab-ci.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 456116c..a10b48d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,10 +19,6 @@ variables: PUBLISH_SINGLE_FILE: "true" PUBLISH_TRIMMED: "false" -# cache: -# paths: -# - "**/.nuget/packages" - services: - docker:dind @@ -35,7 +31,7 @@ test: - schedules script: - | - ./build.sh TestReport Publish \ + ./build.sh Restore Compile TestReport Publish \ --configuration "Debug" \ --publish-directory "./publish" coverage: '/^ Line coverage: (\d*.\d*)%/' -- GitLab