From e670d712d3f85a150843d047ae78fdb551ee1f3c Mon Sep 17 00:00:00 2001 From: Kenny Pflug Date: Mon, 30 Jun 2025 20:55:06 +0200 Subject: [PATCH 1/3] ci: add build-and-test.yml Signed-off-by: Kenny Pflug --- .github/workflows/build-and-test.yml | 24 ++++++++++++++++++++++++ Light.TemporaryStreams.sln | 10 ++++++++++ 2 files changed, 34 insertions(+) create mode 100644 .github/workflows/build-and-test.yml diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml new file mode 100644 index 0000000..8787727 --- /dev/null +++ b/.github/workflows/build-and-test.yml @@ -0,0 +1,24 @@ +name: Build and Test + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build-and-test: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Set up .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + - name: Restore dependencies + run: dotnet restore ./Light.TemporaryStreams.sln + - name: Build + run: dotnet build ./Light.TemporaryStreams.sln --configuration Release --no-restore + - name: Test + run: dotnet test ./Light.TemporaryStreams.sln --no-build --no-restore --verbosity normal diff --git a/Light.TemporaryStreams.sln b/Light.TemporaryStreams.sln index d94f498..018276a 100644 --- a/Light.TemporaryStreams.sln +++ b/Light.TemporaryStreams.sln @@ -16,6 +16,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionItems", "SolutionIt Light.TemporaryStreams.sln.DotSettings = Light.TemporaryStreams.sln.DotSettings EndProjectSection EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{677E4EE1-7062-46AB-81FF-8D20E9316ED6}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{05D48EEC-A2AB-4143-9533-A633E7B25EA3}" + ProjectSection(SolutionItems) = preProject + .github\workflows\build-and-test.yml = .github\workflows\build-and-test.yml + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -54,4 +61,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {05D48EEC-A2AB-4143-9533-A633E7B25EA3} = {677E4EE1-7062-46AB-81FF-8D20E9316ED6} + EndGlobalSection EndGlobal From 4f2b73ac35d23cbfb42f8083f5d6ef60086d5b4b Mon Sep 17 00:00:00 2001 From: Kenny Pflug Date: Mon, 30 Jun 2025 20:58:28 +0200 Subject: [PATCH 2/3] ci: fix missing --configuration Release in Test step Signed-off-by: Kenny Pflug --- .github/workflows/build-and-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 8787727..0b6fc4b 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -21,4 +21,4 @@ jobs: - name: Build run: dotnet build ./Light.TemporaryStreams.sln --configuration Release --no-restore - name: Test - run: dotnet test ./Light.TemporaryStreams.sln --no-build --no-restore --verbosity normal + run: dotnet test ./Light.TemporaryStreams.sln --configuration Release --no-build --no-restore --verbosity normal From a907284e9ad3e7643f37a4e9928b986080727a25 Mon Sep 17 00:00:00 2001 From: Kenny Pflug Date: Mon, 30 Jun 2025 21:25:06 +0200 Subject: [PATCH 3/3] ci: add NuGet package caching to build-and-test.yml Signed-off-by: Kenny Pflug --- .github/workflows/build-and-test.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 0b6fc4b..ea8c267 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -16,6 +16,13 @@ jobs: uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x + - name: Cache NuGet packages + uses: actions/cache@v4 + with: + path: ~/.nuget/packages + key: nuget-${{ runner.os }}-${{ hashFiles('**/packages.lock.json') }} + restore-keys: | + nuget-${{ runner.os }}- - name: Restore dependencies run: dotnet restore ./Light.TemporaryStreams.sln - name: Build