diff --git a/.github/workflows/nightly_dependency_tests.yaml b/.github/workflows/nightly_dependency_tests.yaml new file mode 100644 index 000000000..be02160ae --- /dev/null +++ b/.github/workflows/nightly_dependency_tests.yaml @@ -0,0 +1,48 @@ +name: Nightly dependencies at develop + +on: + workflow_dispatch: + schedule: + - cron: "0 23 * * 1" + +concurrency: + # github.workflow: name of the workflow, so that we don't cancel other workflows + # github.run_id || github.event_name: either the unique identifier for the job or the event that triggered it + group: ${{ github.workflow }}-${{ github.run_id || github.event_name }} + # Cancel in-progress runs when a new workflow with the same group name is triggered + cancel-in-progress: true + +jobs: + nightly_tests: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-14] + python-version: ["3.12"] + suite: ["unit", "integration", "examples"] + + name: Test-${{ matrix.os }}-py-${{ matrix.python-version }}-${{ matrix.suite }}) + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install -e .[all,dev] + python -m pip uninstall -y pybamm + python -m pip install "pybamm[all] @ git+https://github.com/pybamm-team/PyBaMM@develop" + + + - name: Run ${{ matrix.suite }} tests + run: | + if [ ${{ matrix.suite }} == "unit"]; then + python -m pytest --unit + elif [ ${{ matrix.suite }} == "integration"]; then + python -m pytest --integration + elif [ ${{ matrix.suite }} == "examples"]; then + python -m pytest --nbmake --examples + fi diff --git a/.github/workflows/test_on_push.yaml b/.github/workflows/test_on_push.yaml index 0bd346d1f..80bff2cc9 100644 --- a/.github/workflows/test_on_push.yaml +++ b/.github/workflows/test_on_push.yaml @@ -1,4 +1,4 @@ -name: PyBOP +name: Pull Request on: workflow_dispatch: