Skip to content

Add CI workflow to build and test on PRs and pushes - #18

Merged
GenevieveKrause merged 1 commit into
mainfrom
ci-build-and-test
Sep 17, 2026
Merged

GenevieveKrause merged 1 commit into
mainfrom
ci-build-and-test

Conversation

@GenevieveKrause

Copy link
Copy Markdown
Collaborator

release.yml only triggers on tag push (on: push: tags: v*), so today nothing automatically builds or runs the testsuite on pull requests, or on ordinary commits/pushes to main/develop. Even tagged releases never run make checkrelease.yml builds and packages binaries but doesn't verify they pass the testsuite.

This adds a second workflow, ci.yml, that:

  • Triggers on pull_request and push, both targeting main and develop
  • Reuses release.yml's working recipe for getting a buildable tree (clone the companion easel repo, checkout its BATH branch, autoconf, configure, make) — verified this recipe actually works from a genuinely fresh clone, not just copied from the existing file
  • Adds make check, which neither existing workflow runs
  • Matrixes over ubuntu-latest (x86 — SSE/AVX family) and macos-latest (ARM64 — the only way to actually exercise impl_neon/), since configure auto-selects the SIMD implementation based on the build host's own architecture. A single-OS run would leave NEON-specific bugs completely uncovered.

Linted clean with actionlint (caught and fixed one issue: actions/checkout@v3 runs on a deprecated runner — bumped to v4; release.yml still has this same issue, out of scope here).

This won't affect the currently-open #15pull_request-triggered workflows only fire on specific events (opened/synchronize/reopened), so it won't retroactively run against it. It will run automatically the next time that branch gets a new commit, though, which gives us real CI signal on any future revision there for free.

🤖 Generated with Claude Code

release.yml only triggers on tag push, so nothing currently builds or
runs the testsuite on pull requests or on ordinary commits to main/develop.
This adds a separate workflow that does both, reusing release.yml's
easel-clone/autoconf/configure/make recipe and adding a make check step
that release.yml itself never runs either.

Matrix covers ubuntu-latest (x86, SSE/AVX family) and macos-latest
(ARM64, the only way to actually exercise impl_neon/), since BATH's
configure auto-selects the SIMD implementation based on the build
host's architecture.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@GenevieveKrause
GenevieveKrause merged commit b336ecc into main Sep 17, 2026
2 checks passed
@GenevieveKrause
GenevieveKrause deleted the ci-build-and-test branch September 17, 2026 18:56
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