diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml new file mode 100644 index 0000000..9c03de9 --- /dev/null +++ b/.github/workflows/dotnet.yml @@ -0,0 +1,25 @@ +name: LibraryManagement Build Pipline +on: + push: + branches: + - master + pull_request: + branches: + - master +jobs: + Build: + runs-on: windows-2022 + steps: + - name: Checking Out Code + uses: actions/checkout@v2 + - name: Seting Up .Net + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 8.0.412 + include-prerelease: false + - name: Restoring Nuget Packages + run: dotnet restore + - name: Building Project + run: dotnet build --no-restore + - name: Running Tests + run: dotnet test --no-build --verbosity normal diff --git a/LibraryManagement.Api.Infrastructure.Build/LibraryManagement.Api.Infrastructure.Build.csproj b/LibraryManagement.Api.Infrastructure.Build/LibraryManagement.Api.Infrastructure.Build.csproj new file mode 100644 index 0000000..72c75de --- /dev/null +++ b/LibraryManagement.Api.Infrastructure.Build/LibraryManagement.Api.Infrastructure.Build.csproj @@ -0,0 +1,14 @@ + + + + Exe + net8.0 + enable + enable + + + + + + + diff --git a/LibraryManagement.Api.Infrastructure.Build/Program.cs b/LibraryManagement.Api.Infrastructure.Build/Program.cs new file mode 100644 index 0000000..7bc31b6 --- /dev/null +++ b/LibraryManagement.Api.Infrastructure.Build/Program.cs @@ -0,0 +1,77 @@ +//----------------------------------------------------------- +// Copyright (c) Coalition of Good-Hearted Engineers +// Free To Use To Build Reliable Library Management Solutions +//----------------------------------------------------------- + +using ADotNet.Clients; +using ADotNet.Models.Pipelines.GithubPipelines.DotNets; +using ADotNet.Models.Pipelines.GithubPipelines.DotNets.Tasks; +using ADotNet.Models.Pipelines.GithubPipelines.DotNets.Tasks.SetupDotNetTaskV1s; + +var githubPipeline = new GithubPipeline +{ + Name = "LibraryManagement Build Pipline", + + OnEvents = new Events + { + PullRequest = new PullRequestEvent + { + Branches = new string[] { "master" } + }, + + Push = new PushEvent + { + Branches = new string[] { "master" } + } + }, + + Jobs = new Dictionary + { + { + "Build", + new Job + { + RunsOn = BuildMachines.Windows2022, + + Steps = new List + { + new CheckoutTaskV2 + { + Name = "Checking Out Code" + }, + + new SetupDotNetTaskV1 + { + Name = "Seting Up .Net", + + TargetDotNetVersion = new TargetDotNetVersion + { + DotNetVersion = "8.0.412", + } + }, + + new RestoreTask + { + Name = "Restoring Nuget Packages" + }, + + new DotNetBuildTask + { + Name = "Building Project" + }, + + new TestTask + { + Name = "Running Tests" + } + } + } + } + } +}; + +var client = new ADotNetClient(); + +client.SerializeAndWriteToFile( + adoPipeline: githubPipeline, + path: "../../../../.github/workflows/dotnet.yml"); \ No newline at end of file diff --git a/LibraryManagement.sln b/LibraryManagement.sln index 2633ef7..aa70dce 100644 --- a/LibraryManagement.sln +++ b/LibraryManagement.sln @@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibraryManagement.Api", "Li EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibraryManagement.Api.Tests.Unit", "LibraryManagement.Api.Tests.Unit\LibraryManagement.Api.Tests.Unit.csproj", "{AF000EF4-2C94-4C07-B34B-A08A03D4853C}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibraryManagement.Api.Infrastructure.Build", "LibraryManagement.Api.Infrastructure.Build\LibraryManagement.Api.Infrastructure.Build.csproj", "{3735E352-3056-4273-9D31-C8C689E08377}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -21,6 +23,10 @@ Global {AF000EF4-2C94-4C07-B34B-A08A03D4853C}.Debug|Any CPU.Build.0 = Debug|Any CPU {AF000EF4-2C94-4C07-B34B-A08A03D4853C}.Release|Any CPU.ActiveCfg = Release|Any CPU {AF000EF4-2C94-4C07-B34B-A08A03D4853C}.Release|Any CPU.Build.0 = Release|Any CPU + {3735E352-3056-4273-9D31-C8C689E08377}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3735E352-3056-4273-9D31-C8C689E08377}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3735E352-3056-4273-9D31-C8C689E08377}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3735E352-3056-4273-9D31-C8C689E08377}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE