Skip to content

Run the build and every check on each pull request (M1) - #31

Merged
YogiOnCode merged 1 commit into
mainfrom
mac/m1-ci
Oct 20, 2026
Merged

YogiOnCode merged 1 commit into
mainfrom
mac/m1-ci

Conversation

@YogiOnCode

Copy link
Copy Markdown
Owner

Every pull request and every push to main now builds Clayo and runs every check on GitHub. A red run shows which check broke and which case inside it failed.

CI (.github/workflows/ci.yml)

  • A windows job on windows-latest builds src/Clayo Debug and Release with -warnaserror, then runs scripts/checks.ps1.
  • A newer push to the same branch cancels the run it replaces. NuGet packages are cached.
  • Actions are pinned to a commit, as in release.yml. The token is read-only.
  • release.yml is unchanged.

scripts/checks.ps1

  • Runs every check in checks/, or only the ones you name (.\scripts\checks.ps1 status sessions), and exits with the number that failed. It behaves the same locally and on CI.
  • A failing check prints its own output, including build errors, so the log says which case broke.
  • -Core runs only the checks that target net10.0. There are none yet; they come with the Mac work (M3) and will also run on macOS.
  • mascot.cs is left out. It renders PNGs to compare by eye, it isn't a pass/fail check.

Docs

  • README: a CI badge.
  • CONTRIBUTING.md: branch, build, scripts/checks.ps1, PR.

After merging

Make windows a required check on main in the ruleset, only once this PR's run is green.

Testing

  • dotnet build and dotnet build -c Release with -warnaserror give 0 warnings and 0 errors.
  • scripts/checks.ps1 passes all 19 checks in about 45s. Named runs, -Core and an unknown name behave as expected.
  • A throwaway failing check and a throwaway check that doesn't compile each showed FAIL with their output, and the exit code was the failure count. Both were removed.
  • The CI steps pass in a fresh clone with only tracked files.
  • This PR's own run is the first CI run.

CI on every pull request and every push to main: a windows job builds
src/Clayo Debug and Release with -warnaserror and runs every check.
A newer push to the same branch cancels the run it replaces.

scripts/checks.ps1 runs the checks in checks/, all of them or the ones
named, and exits with the number that failed. A failing check prints
its own output, so the log says which case broke. -Core runs only the
checks that target net10.0 (none yet; M3 adds them). mascot.cs is left
out: it renders PNGs to compare by eye, it isn't pass/fail.

README gets a CI badge; CONTRIBUTING.md says how to build and check.
@YogiOnCode
YogiOnCode merged commit 35917a9 into main Oct 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant