From 01c34e6b138db1c10791779aa4c2f17693fbf550 Mon Sep 17 00:00:00 2001 From: Marko Lahma Date: Mon, 19 Feb 2024 00:36:24 +0200 Subject: [PATCH] Add PR workflow (#4956) --- .github/workflows/pr.yml | 33 +++++++++++++++++++++++ build/Build.CI.GitHubActions.cs | 46 ++------------------------------- build/Configuration.cs | 16 ------------ 3 files changed, 35 insertions(+), 60 deletions(-) create mode 100644 .github/workflows/pr.yml delete mode 100644 build/Configuration.cs diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml new file mode 100644 index 000000000..f2da7a77a --- /dev/null +++ b/.github/workflows/pr.yml @@ -0,0 +1,33 @@ +# ------------------------------------------------------------------------------ +# +# +# 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: + branches: + - main + paths: + - '**/*' + +jobs: + ubuntu-latest: + name: ubuntu-latest + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: 'Run: Compile, Test, Pack' + run: ./build.cmd Compile Test Pack diff --git a/build/Build.CI.GitHubActions.cs b/build/Build.CI.GitHubActions.cs index a6e559699..052ca483e 100644 --- a/build/Build.CI.GitHubActions.cs +++ b/build/Build.CI.GitHubActions.cs @@ -1,56 +1,14 @@ -using System.Collections.Generic; using Nuke.Common.CI.GitHubActions; -using Nuke.Common.CI.GitHubActions.Configuration; -using Nuke.Common.Execution; -using Nuke.Common.Utilities; using Nuke.Components; -[CustomGitHubActions( +[GitHubActions( "pr", GitHubActionsImage.UbuntuLatest, OnPullRequestBranches = ["main"], OnPullRequestIncludePaths = ["**/*"], - OnPullRequestExcludePaths = ["docs/**/*", "package.json", "package-lock.json", "readme.md"], PublishArtifacts = false, InvokedTargets = [nameof(ICompile.Compile), nameof(ITest.Test), nameof(IPack.Pack)], CacheKeyFiles = [] ) ] -public partial class Build; - -class CustomGitHubActionsAttribute : GitHubActionsAttribute -{ - public CustomGitHubActionsAttribute(string name, GitHubActionsImage image, params GitHubActionsImage[] images) : base(name, image, images) - { - } - - protected override GitHubActionsJob GetJobs(GitHubActionsImage image, IReadOnlyCollection relevantTargets) - { - var job = base.GetJobs(image, relevantTargets); - - var newSteps = new List(job.Steps); - newSteps.Insert(0, new GitHubActionsUseGnuTarStep()); - - job.Steps = newSteps.ToArray(); - return job; - } -} - -class GitHubActionsUseGnuTarStep : GitHubActionsStep -{ - public override void Write(CustomFileWriter writer) - { - writer.WriteLine("- if: ${{ runner.os == 'Windows' }}"); - using (writer.Indent()) - { - writer.WriteLine("name: 'Use GNU tar'"); - writer.WriteLine("shell: cmd"); - writer.WriteLine("run: |"); - using (writer.Indent()) - { - writer.WriteLine("echo \"Adding GNU tar to PATH\""); - writer.WriteLine("echo C:\\Program Files\\Git\\usr\\bin>>\"%GITHUB_PATH%\""); - } - } - } -} \ No newline at end of file +public partial class Build; \ No newline at end of file diff --git a/build/Configuration.cs b/build/Configuration.cs deleted file mode 100644 index 9c08b1ae9..000000000 --- a/build/Configuration.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.ComponentModel; -using System.Linq; -using Nuke.Common.Tooling; - -[TypeConverter(typeof(TypeConverter))] -public class Configuration : Enumeration -{ - public static Configuration Debug = new Configuration { Value = nameof(Debug) }; - public static Configuration Release = new Configuration { Value = nameof(Release) }; - - public static implicit operator string(Configuration configuration) - { - return configuration.Value; - } -}