diff --git a/.github/workflows/mdanalysis-compatibility.yaml b/.github/workflows/mdanalysis-compatibility.yaml new file mode 100644 index 0000000..7950e5c --- /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: ${{ matrix.os }} + + 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"] + + 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..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 @@ -67,49 +68,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