From 04417b59d7effe33abb23c070a4a644288dad726 Mon Sep 17 00:00:00 2001 From: Swift Date: Mon, 17 Nov 2025 10:54:28 +0000 Subject: [PATCH 1/5] seperate out MDAnalysis compatability into its own `.yaml`: - MDAnalysis is within its own file - switch from MDAnalysis `2.9.0` to `latest` --- .../workflows/mdanalysis-compatibility.yaml | 54 +++++++++++++++++++ .github/workflows/project-ci.yaml | 47 +--------------- 2 files changed, 55 insertions(+), 46 deletions(-) create mode 100644 .github/workflows/mdanalysis-compatibility.yaml diff --git a/.github/workflows/mdanalysis-compatibility.yaml b/.github/workflows/mdanalysis-compatibility.yaml new file mode 100644 index 0000000..6f1a994 --- /dev/null +++ b/.github/workflows/mdanalysis-compatibility.yaml @@ -0,0 +1,54 @@ +name: MDAnalysis Compatibility + +on: + schedule: + - cron: '0 8 * * 1' # Weekly Monday checks + workflow_dispatch: + +jobs: + mdanalysis-compatibility: + name: MDAnalysis Compatibility Tests + runs-on: ubuntu-24.04 + timeout-minutes: 15 + + strategy: + matrix: + python-version: ["3.11", "3.12", "3.13", "3.14"] + mdanalysis-version: ["latest"] + + steps: + - name: Checkout repo + uses: actions/checkout@v5.0.0 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v6.0.0 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies with MDAnalysis ${{ matrix.mdanalysis-version }} + run: | + pip install --upgrade pip + pip install -e .[testing] + + if [ "${{ matrix.mdanalysis-version }}" = "latest" ]; then + pip install MDAnalysis + else + pip install "MDAnalysis==${{ matrix.mdanalysis-version }}" + fi + + - name: Run compatibility tests + run: pytest --cov CodeEntropy --cov-report=term-missing --cov-append + + - name: Create Issue on Failure + if: failure() + uses: JasonEtco/create-an-issue@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PYTHON_VERSION: ${{ matrix.python-version }} + MDA_VERSION: ${{ matrix.mdanalysis-version }} + RUN_NUMBER: ${{ github.run_number }} + RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + with: + filename: .github/workflows/mdanalysis-compatibility-failure.md + update_existing: true + search_existing: open diff --git a/.github/workflows/project-ci.yaml b/.github/workflows/project-ci.yaml index e397426..510cf1a 100644 --- a/.github/workflows/project-ci.yaml +++ b/.github/workflows/project-ci.yaml @@ -67,49 +67,4 @@ jobs: - name: Run pre-commit run: | pre-commit install - pre-commit run --all-files || ( git status --short ; git diff ; exit 1 ) - - mdanalysis-compatibility: - if: github.event_name == 'schedule' - runs-on: ubuntu-24.04 - timeout-minutes: 15 - strategy: - matrix: - python-version: ["3.11", "3.12", "3.13", "3.14"] - mdanalysis-version: ["2.9.0", "latest"] - name: MDAnalysis Compatibility Tests - steps: - - name: Checkout repo - uses: actions/checkout@v5.0.0 - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v6.0.0 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies with MDAnalysis ${{ matrix.mdanalysis-version }} - run: | - pip install --upgrade pip - pip install -e .[testing] - if [ "${{ matrix.mdanalysis-version }}" = "latest" ]; then - pip install MDAnalysis - else - pip install "MDAnalysis==${{ matrix.mdanalysis-version }}" - fi - - - name: Run compatibility tests - run: pytest --cov CodeEntropy --cov-report=term-missing --cov-append - - - name: Create Issue on Failure - if: failure() - uses: JasonEtco/create-an-issue@v2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PYTHON_VERSION: ${{ matrix.python-version }} - MDA_VERSION: ${{ matrix.mdanalysis-version }} - RUN_NUMBER: ${{ github.run_number }} - RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} - with: - filename: .github/workflows/mdanalysis-compatibility-failure.md - update_existing: true - search_existing: open + pre-commit run --all-files || ( git status --short ; git diff ; exit 1 ) \ No newline at end of file From b903849e35a458d7461d7c3c6888fe1a721fd473 Mon Sep 17 00:00:00 2001 From: Swift Date: Mon, 17 Nov 2025 10:57:34 +0000 Subject: [PATCH 2/5] add `workflow_dispatch` in `project-ci.yaml` --- .github/workflows/project-ci.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/project-ci.yaml b/.github/workflows/project-ci.yaml index 510cf1a..ada5796 100644 --- a/.github/workflows/project-ci.yaml +++ b/.github/workflows/project-ci.yaml @@ -6,7 +6,8 @@ on: pull_request: schedule: - cron: '0 8 * * 1' - + workflow_dispatch: + jobs: tests: name: Run tests From f8a4d1709349d0de87669c7f57067df0f31ffca2 Mon Sep 17 00:00:00 2001 From: Swift Date: Mon, 17 Nov 2025 10:58:59 +0000 Subject: [PATCH 3/5] switch from MDAnalysis `latest` to `2.10.0` to avoid potential GitHub issues --- .github/workflows/mdanalysis-compatibility.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/mdanalysis-compatibility.yaml b/.github/workflows/mdanalysis-compatibility.yaml index 6f1a994..cd77c07 100644 --- a/.github/workflows/mdanalysis-compatibility.yaml +++ b/.github/workflows/mdanalysis-compatibility.yaml @@ -14,7 +14,7 @@ jobs: strategy: matrix: python-version: ["3.11", "3.12", "3.13", "3.14"] - mdanalysis-version: ["latest"] + mdanalysis-version: ["2.10.0"] steps: - name: Checkout repo From 7167ebf2b8e2a39361681f37daa4ead5f3fa2a33 Mon Sep 17 00:00:00 2001 From: Swift Date: Mon, 17 Nov 2025 11:03:17 +0000 Subject: [PATCH 4/5] add testing of multiple opperating systems to `mdanalysis-compatibility.yaml` --- .github/workflows/mdanalysis-compatibility.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/mdanalysis-compatibility.yaml b/.github/workflows/mdanalysis-compatibility.yaml index cd77c07..d42600b 100644 --- a/.github/workflows/mdanalysis-compatibility.yaml +++ b/.github/workflows/mdanalysis-compatibility.yaml @@ -8,11 +8,12 @@ on: jobs: mdanalysis-compatibility: name: MDAnalysis Compatibility Tests - runs-on: ubuntu-24.04 + runs-on: ${{ matrix.os }} timeout-minutes: 15 strategy: matrix: + os: [ubuntu-24.04, windows-2025, macos-15] python-version: ["3.11", "3.12", "3.13", "3.14"] mdanalysis-version: ["2.10.0"] From 013b54a4d4deadc166ae06ad98efceaf3d47b007 Mon Sep 17 00:00:00 2001 From: Swift Date: Mon, 17 Nov 2025 11:15:28 +0000 Subject: [PATCH 5/5] remove the `timeout` clause on the `mdanalysis-compatibility.yaml` --- .github/workflows/mdanalysis-compatibility.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/mdanalysis-compatibility.yaml b/.github/workflows/mdanalysis-compatibility.yaml index d42600b..7950e5c 100644 --- a/.github/workflows/mdanalysis-compatibility.yaml +++ b/.github/workflows/mdanalysis-compatibility.yaml @@ -9,7 +9,6 @@ jobs: mdanalysis-compatibility: name: MDAnalysis Compatibility Tests runs-on: ${{ matrix.os }} - timeout-minutes: 15 strategy: matrix: