Add PR workflow (#4956)
This commit is contained in:
parent
c3f95bddc3
commit
01c34e6b13
33
.github/workflows/pr.yml
vendored
Normal file
33
.github/workflows/pr.yml
vendored
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# ------------------------------------------------------------------------------
|
||||
# <auto-generated>
|
||||
#
|
||||
# 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
|
||||
#
|
||||
# </auto-generated>
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
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
|
||||
|
|
@ -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<ExecutableTarget> relevantTargets)
|
||||
{
|
||||
var job = base.GetJobs(image, relevantTargets);
|
||||
|
||||
var newSteps = new List<GitHubActionsStep>(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%\"");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public partial class Build;
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using Nuke.Common.Tooling;
|
||||
|
||||
[TypeConverter(typeof(TypeConverter<Configuration>))]
|
||||
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;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue