Contributing

Contributing#

Contributions — issues and pull requests — are welcome on GitHub, under the terms below. See the top-level CONTRIBUTING.md for the full statement.

Terms#

Contributions are accepted under the Apache License 2.0, the license this project ships under (inbound = outbound). Every contribution must carry a Developer Certificate of Origin sign-off (git commit -s); see https://developercertificate.org/ for what that certifies. There is no Contributor License Agreement and no relicensing right.

Tests#

C++ (GoogleTest): build with EAGLE_BUILD_TESTS=ON, then run the gate, not ctest directly — eagle has no ctest wiring, and ctest --test-dir build reports zero tests without failing.

tests/check_gate.sh cuda build/tests/eagle_tests   # or: cpp, for a CPP_MODE build

The gate checks both the run and the test listing against the committed name manifest tests/expected_tests_<mode>.txt, so a filtered or empty run cannot pass silently.

Python (pytest):

pytest python/tests -m "not gpu and not interop_matrix"   # drop the -m filter on a GPU machine

See the Developer guide for coding conventions, the contribution workflow, and how to add a new error code.

Building the docs#

cd docs/
make strict     # 0 warnings required
make nbexec     # execute every notebook in place (needs a GPU)
make nbcheck    # refuse an unfilled notebook
make linkcheck  # crawl every link

See the Documentation guide for the full toolchain, dependencies, and docstring style.