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