Skip to content
Draft
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/ci_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ jobs:
- name: Linting with ruff
run: |
ruff check pySDC
- name: Type checking with mypy (report only)
continue-on-error: true
run: |
mypy pySDC/core pySDC/implementations pySDC/helpers --no-error-summary || echo "::warning::Type checking found issues. This is informational only and does not fail the build."

user_cpu_tests_linux:
runs-on: ubuntu-latest
Expand Down
4 changes: 4 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ This follows a specific OOP framework, you can look at the page on
[custom implementations](./docs/contrib/04_custom_implementations.md)
for more details. Additional guideline are also given on how to
[document the code](./docs/contrib/05_documenting_code.md) in `pySDC`.
A comprehensive guide on [sweeper implementations](./docs/contrib/08_sweeper_guide.md)
is also available to help you choose and use the right time integration method.

> 📣 Some core components (collocation matrix, $Q-\Delta$ coefficients, Lagrange barycentric interpolation)
> are implemented and developed in the [`qmat` companion package](https://github.com/Parallel-in-Time/qmat).
Expand All @@ -34,5 +36,7 @@ for more details. Additional guideline are also given on how to
5. [Custom Implementations](./docs/contrib/04_custom_implementations.md)
6. [Documenting Code](./docs/contrib/05_documenting_code.md)
7. [Adding a project](./docs/contrib/06_new_project.md)
8. [Sweeper Implementations Guide](./docs/contrib/08_sweeper_guide.md)
9. [Type Checking with mypy](./docs/contrib/09_type_checking.md)

:arrow_left: [Back to main page](./README.md)
8 changes: 7 additions & 1 deletion docs/contrib/02_continuous_integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,13 @@ For more details, see the [automated failure handling documentation](../../.gith

## Code linting

Code style linting is performed using [black](https://black.readthedocs.io/en/stable/) and [ruff](https://docs.astral.sh/ruff/) for code syntax checking. In particular, `black` is used to check compliance with (most of) [PEP-8 guidelines](https://peps.python.org/pep-0008/).
Code quality checks are performed in the lint stage of the CI pipeline:

- **Code Formatting**: [black](https://black.readthedocs.io/en/stable/) ensures compliance with (most of) [PEP-8 guidelines](https://peps.python.org/pep-0008/)
- **Code Linting**: [ruff](https://docs.astral.sh/ruff/) checks for code syntax issues, potential bugs, and style violations
- **Type Checking**: [mypy](https://mypy.readthedocs.io/) performs static type checking (informational only, does not block builds)

All three tools run on Python 3.13 and check the `pySDC` package. See [Type Checking with mypy](./09_type_checking.md) for details on type hints.

Those tests are conducted for each commit (even for forks), but you can also run it locally in the root folder of `pySDC` before pushing any commit :

Expand Down
Loading
Loading