Skip to content

Validate the standard's example lattices in CI - #89

Open
ax3l wants to merge 2 commits into
mainfrom
standard-examples-ci
Open

Validate the standard's example lattices in CI#89
ax3l wants to merge 2 commits into
mainfrom
standard-examples-ci

Conversation

@ax3l

@ax3l ax3l commented Jul 30, 2026

Copy link
Copy Markdown
Member

Add a standard_examples GitHub workflow that checks out the examples corpus of pals-project/pals and validates every lattice with the public C API of pals-cpp:
each *.pals.yaml is discovered automatically and must expand with zero problems to a non-empty lattice. A small manifest lists only the exceptions (its header documents the format); *.subpals.yaml include fragments and files named in another file's load list are exempted automatically, the latter being checked through their joiner.

The standard is checked out at a pinned commit (tests/pals_standard_ref.txt) so changes to it cannot break unrelated PRs. A weekly_update GitHub workflow, modeled on WarpX's, bumps the commit pin to the current pals main in a controlled PR of its own. If that PR breaks, additional commits can be added to it by pals-cpp developers, at their own time, to address the drift between PALS spec/tests and implementation in pals-cpp.

@ax3l ax3l added the examples examples & tests label Jul 30, 2026
@ax3l

ax3l commented Jul 30, 2026

Copy link
Copy Markdown
Member Author

Comment thread tests/validate_standard_examples.cpp
@ax3l
ax3l force-pushed the standard-examples-ci branch from 324df0c to 358ecd7 Compare July 30, 2026 18:55
Add a `standard_examples` GitHub workflow that checks out the examples
corpus of `pals-project/pals` and validates every lattice with the
public C API of `pals-cpp`:
each `*.pals.yaml` is discovered automatically and must expand with zero
problems to a non-empty lattice. A small manifest lists only the
exceptions (its header documents the format); `*.subpals.yaml` include
fragments and files named in another file's `load` list are exempted
automatically, the latter being checked through their joiner.

The standard is checked out at a pinned commit
(`tests/pals_standard_ref.txt`) so changes to it cannot break unrelated
PRs. A `weekly_update` GitHub workflow, modeled on WarpX's, bumps the
commit pin to the current pals `main` in a controlled PR of its own. If
that PR breaks, additional commits can be added to it by `pals-cpp`
developers, at their own time, to address the drift between PALS spec/tests
and implementation in `pals-cpp`.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ax3l
ax3l force-pushed the standard-examples-ci branch from 358ecd7 to 2baaee8 Compare July 30, 2026 18:56
@ax3l

ax3l commented Jul 30, 2026

Copy link
Copy Markdown
Member Author

@DavidSagan @Alexheeeee ready for merge :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

examples examples & tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants