From 53208ac7bbba937b122c5e1ae503c702b778220f Mon Sep 17 00:00:00 2001 From: nexicturbo Date: Sat, 7 Feb 2026 00:44:08 -0600 Subject: [PATCH 1/3] Add CI build workflow and gitignore --- .github/workflows/ci.yml | 25 +++++++++++++++++++++++++ .gitignore | 22 ++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 .gitignore diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..1557a2f --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,25 @@ +name: CI + +on: + push: + branches: ["main"] + pull_request: + +jobs: + build: + runs-on: windows-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup .NET 6 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: "6.0.x" + + - name: Restore + run: dotnet restore + + - name: Build (Release) + run: dotnet build -c Release --no-restore + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c0ff703 --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +# Build outputs +**/bin/ +**/obj/ + +# Visual Studio / Rider +.vs/ +.vscode/ +.idea/ +*.user +*.suo +*.userosscache +*.sln.docstates + +# NuGet +*.nupkg +*.snupkg +packages/ + +# OS / tooling noise +Thumbs.db +Desktop.ini + From 7fcea4596525809da6ab9ce1bf4078ce5d04c5f2 Mon Sep 17 00:00:00 2001 From: nexicturbo Date: Sat, 7 Feb 2026 00:47:59 -0600 Subject: [PATCH 2/3] Add Cake tool manifest and build scripts --- .config/dotnet-tools.json | 13 +++++++++++++ .github/workflows/ci.yml | 8 ++------ build.ps1 | 10 ++++++++++ build.sh | 8 ++++++++ 4 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 .config/dotnet-tools.json create mode 100644 build.ps1 create mode 100644 build.sh diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json new file mode 100644 index 0000000..e637cb2 --- /dev/null +++ b/.config/dotnet-tools.json @@ -0,0 +1,13 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "cake.tool": { + "version": "4.2.0", + "commands": [ + "dotnet-cake" + ] + } + } +} + diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1557a2f..cbb7f91 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,9 +17,5 @@ jobs: with: dotnet-version: "6.0.x" - - name: Restore - run: dotnet restore - - - name: Build (Release) - run: dotnet build -c Release --no-restore - + - name: Build (Release via Cake) + run: ./build.ps1 -Target Build diff --git a/build.ps1 b/build.ps1 new file mode 100644 index 0000000..e6fb422 --- /dev/null +++ b/build.ps1 @@ -0,0 +1,10 @@ +param( + [Parameter(Mandatory = $false)] + [string]$Target = "Build" +) + +$ErrorActionPreference = "Stop" + +dotnet tool restore | Out-Host +dotnet tool run dotnet-cake -- build.cake --target=$Target | Out-Host + diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..715d2a0 --- /dev/null +++ b/build.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail + +TARGET="${1:-Build}" + +dotnet tool restore +dotnet tool run dotnet-cake -- build.cake --target="$TARGET" + From 7ac2b5d44f8b5712bb7f61750ed82915caae3f58 Mon Sep 17 00:00:00 2001 From: nexicturbo Date: Sat, 7 Feb 2026 00:48:25 -0600 Subject: [PATCH 3/3] Harden CI PowerShell invocation --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cbb7f91..099913b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,4 +18,4 @@ jobs: dotnet-version: "6.0.x" - name: Build (Release via Cake) - run: ./build.ps1 -Target Build + run: pwsh -NoProfile -ExecutionPolicy Bypass -File ./build.ps1 -Target Build