Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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: 1 addition & 3 deletions .github/workflows/coveralls-main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ concurrency:
jobs:
coveralls:
name: Build main coverage baseline
uses: CCPBioSim/.github/.github/workflows/ci-test-python.yaml@116d539cf0864af72d33dce047313ca6fc624ccd # 0.4.0
uses: CCPBioSim/.github/.github/workflows/ci-test-python.yaml@f4cec1ba490b4461bfbcfd6362a8587678908a7d # 0.12.0
permissions:
contents: read
checks: write
Expand All @@ -26,6 +26,4 @@ jobs:
package: CodeEntropy
test-path: tests/unit
os: '["ubuntu-26.04"]'
python-versions: '["3.15"]'
coverage-python-version: "3.15"
timeout-minutes: 30
24 changes: 0 additions & 24 deletions .github/workflows/dependency-floors.yaml

This file was deleted.

20 changes: 4 additions & 16 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,15 @@ concurrency:
jobs:
unit:
name: Unit
uses: CCPBioSim/.github/.github/workflows/ci-test-python.yaml@116d539cf0864af72d33dce047313ca6fc624ccd # 0.4.0
uses: CCPBioSim/.github/.github/workflows/ci-test-python.yaml@f4cec1ba490b4461bfbcfd6362a8587678908a7d # 0.12.0
permissions:
contents: read
checks: write
statuses: write
pull-requests: write
with:
package: CodeEntropy
test-path: tests/unit
os: '["ubuntu-24.04", "macos-26", "windows-2025-vs2026"]'
coverage-python-version: "3.15"
timeout-minutes: 25

lowest-dependencies:
name: Lowest dependencies
uses: CCPBioSim/.github/.github/workflows/ci-lowest-dependencies.yaml@116d539cf0864af72d33dce047313ca6fc624ccd # 0.4.0
permissions:
contents: read
with:
lowest-dependencies-check: true
test-path: tests/unit
os: '["ubuntu-24.04", "macos-26", "windows-2025-vs2026"]'
timeout-minutes: 25
Expand Down Expand Up @@ -107,19 +97,17 @@ jobs:
docs:
name: Docs
needs: unit
uses: CCPBioSim/.github/.github/workflows/ci-docs.yaml@116d539cf0864af72d33dce047313ca6fc624ccd # 0.4.0
uses: CCPBioSim/.github/.github/workflows/ci-docs.yaml@f4cec1ba490b4461bfbcfd6362a8587678908a7d # 0.12.0
permissions:
contents: read
with:
python-versions: '["3.15"]'
timeout-minutes: 25

pre-commit:
name: Pre-commit
needs: unit
uses: CCPBioSim/.github/.github/workflows/ci-pre-commit.yaml@116d539cf0864af72d33dce047313ca6fc624ccd # 0.4.0
uses: CCPBioSim/.github/.github/workflows/ci-pre-commit.yaml@f4cec1ba490b4461bfbcfd6362a8587678908a7d # 0.12.0
permissions:
contents: read
with:
python-version: "3.15"
timeout-minutes: 15
8 changes: 4 additions & 4 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ permissions:
jobs:
prepare:
name: Prepare
uses: CCPBioSim/.github/.github/workflows/release-prepare.yaml@116d539cf0864af72d33dce047313ca6fc624ccd # 0.4.0
uses: CCPBioSim/.github/.github/workflows/release-prepare.yaml@f4cec1ba490b4461bfbcfd6362a8587678908a7d # 0.12.0
permissions:
contents: write
pull-requests: write
Expand All @@ -40,7 +40,7 @@ jobs:
website:
name: Website
needs: prepare
uses: CCPBioSim/.github/.github/workflows/release-website.yaml@116d539cf0864af72d33dce047313ca6fc624ccd # 0.4.0
uses: CCPBioSim/.github/.github/workflows/release-website.yaml@f4cec1ba490b4461bfbcfd6362a8587678908a7d # 0.12.0
permissions:
contents: read
with:
Expand All @@ -53,7 +53,7 @@ jobs:
pypi:
name: PyPI
needs: prepare
uses: CCPBioSim/.github/.github/workflows/release-pypi.yaml@116d539cf0864af72d33dce047313ca6fc624ccd # 0.4.0
uses: CCPBioSim/.github/.github/workflows/release-pypi.yaml@f4cec1ba490b4461bfbcfd6362a8587678908a7d # 0.12.0
permissions:
contents: read
with:
Expand All @@ -65,7 +65,7 @@ jobs:
conda:
name: Conda
needs: prepare
uses: CCPBioSim/.github/.github/workflows/release-conda.yaml@116d539cf0864af72d33dce047313ca6fc624ccd # 0.4.0
uses: CCPBioSim/.github/.github/workflows/release-conda.yaml@f4cec1ba490b4461bfbcfd6362a8587678908a7d # 0.12.0
permissions:
contents: read
with:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ permissions:

jobs:
update-license-year:
uses: CCPBioSim/.github/.github/workflows/maintenance-license-year.yaml@116d539cf0864af72d33dce047313ca6fc624ccd # 0.4.0
uses: CCPBioSim/.github/.github/workflows/maintenance-license-year.yaml@f4cec1ba490b4461bfbcfd6362a8587678908a7d # 0.12.0
permissions:
contents: write
pull-requests: write
2 changes: 1 addition & 1 deletion .github/workflows/weekly-docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ concurrency:
jobs:
docs:
name: Docs build
uses: CCPBioSim/.github/.github/workflows/ci-docs.yaml@116d539cf0864af72d33dce047313ca6fc624ccd # 0.4.0
uses: CCPBioSim/.github/.github/workflows/ci-docs.yaml@f4cec1ba490b4461bfbcfd6362a8587678908a7d # 0.12.0
permissions:
contents: read
with:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
name: Daily Unit Tests
name: Weekly Unit Tests

on:
schedule:
- cron: '0 8 * * 1-5'
- cron: '0 8 * * 1'
workflow_dispatch:

permissions:
contents: read

concurrency:
group: daily-${{ github.ref }}
group: weekly-tests-${{ github.ref }}
cancel-in-progress: true

jobs:
unit:
name: Unit
uses: CCPBioSim/.github/.github/workflows/ci-test-python.yaml@116d539cf0864af72d33dce047313ca6fc624ccd # 0.4.0
uses: CCPBioSim/.github/.github/workflows/ci-test-python.yaml@f4cec1ba490b4461bfbcfd6362a8587678908a7d # 0.12.0
permissions:
contents: read
checks: write
statuses: write
pull-requests: write
with:
package: CodeEntropy
lowest-dependencies-check: true
test-path: tests/unit
os: '["ubuntu-24.04", "macos-26", "windows-2025-vs2026"]'
coverage: false
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ CodeEntropy

| Category | Badges |
|----------------|--------|
| **Build** | [![PR Checks](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/pr.yaml/badge.svg)](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/pr.yaml) [![Daily Tests](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/daily.yaml/badge.svg)](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/daily.yaml) [![Dependency Floors](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/dependency-floors.yaml/badge.svg)](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/dependency-floors.yaml) |
| **Build** | [![PR Checks](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/pr.yaml/badge.svg)](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/pr.yaml) [![Weekly Tests](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/weekly-tests.yaml/badge.svg)](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/weekly-tests.yaml) |
| **Regression** | [![Weekly Regression](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/weekly-regression.yaml/badge.svg)](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/weekly-regression.yaml) |
| **Documentation** | [![Weekly Docs](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/weekly-docs.yaml/badge.svg)](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/weekly-docs.yaml) [![Docs - Status](https://app.readthedocs.org/projects/codeentropy/badge/?version=latest)](https://codeentropy.readthedocs.io/en/latest/?badge=latest) |
| **Citation** | [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.17570721.svg)](https://doi.org/10.5281/zenodo.17570721) |
Expand Down
15 changes: 6 additions & 9 deletions docs/developer_guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -159,15 +159,12 @@ Pull Request checks include:
- Documentation build
- Pre-commit validation

Daily workflow:

- Runs automated test validation

Weekly workflows:

- Unit tests on Linux, macOS, and Windows, including the dependency floor checks
(see :ref:`dependency-policy`)
- Full regression suite including slow tests
- Documentation build across all Python versions
- Dependency floor checks (see :ref:`dependency-policy`)

CI also caches regression datasets to improve performance.

Expand All @@ -181,10 +178,10 @@ bound (floor) is the oldest release CodeEntropy is known to work with, so that i
stays installable alongside other scientific packages. Floors are only raised
when the code needs a newer release. Upper bounds are widened by Renovate.

The ``lowest-dependencies`` job in the pull request workflow and the weekly
``dependency-floors.yaml`` workflow check this. They check that the lowest
allowed versions resolve to installable wheels on each platform and Python
version, and that the unit tests pass with them installed.
The unit jobs in the pull request and weekly workflows check this. After the
normal tests, each job reinstalls the lowest allowed versions of the direct
dependencies and runs the unit tests again, which checks that they resolve to
installable wheels on each platform and Python version and that the tests pass.

Run the same checks locally with `uv <https://docs.astral.sh/uv/>`_::

Expand Down
Loading