From 888a391df8a6ccacf4947ec45d7af885798af87d Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Thu, 23 Apr 2026 18:14:54 -0700 Subject: [PATCH 01/20] updated actions - updated actions to recent major versions - updated python-version to 3.14 or 3.13 - removed deprecated macos-13 runner and replaced macos-15-intel - removed tested Python 3.9 and 3.10 and added 3.13 and 3.14 --- .github/workflows/deploy.yaml | 20 +++++++++---------- .github/workflows/docs.yaml | 8 ++++---- .github/workflows/gh-ci.yaml | 36 +++++++++++++++++------------------ CHANGELOG.md | 3 ++- 4 files changed, 33 insertions(+), 34 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 198736f..c674704 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -38,12 +38,12 @@ jobs: - [macos-14, macosx_*, arm64] python: ["cp39", "cp310", "cp311", "cp312"] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 0 - name: Build wheels - uses: pypa/cibuildwheel@v2.16.5 + uses: pypa/cibuildwheel@v3.4.0 env: CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }} CIBW_ARCHS: ${{ matrix.buildplat[2] }} @@ -53,7 +53,7 @@ jobs: if: | (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')) || (github.event_name == 'release' && github.event.action == 'published') - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v7 with: path: wheelhouse/*.whl retention-days: 7 @@ -64,7 +64,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 10 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 0 @@ -75,7 +75,7 @@ jobs: if: | (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')) || (github.event_name == 'release' && github.event.action == 'published') - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v7 with: path: dist/*.tar.gz retention-days: 7 @@ -93,13 +93,13 @@ jobs: runs-on: ubuntu-latest needs: [build_wheels, build_sdist] steps: - - uses: actions/download-artifact@v3 + - uses: actions/upload-artifact@v8 with: name: artifact path: dist - name: upload_source_and_wheels - uses: pypa/gh-action-pypi-publish@v1.8.10 + uses: pypa/gh-action-pypi-publish@v1.14.0 with: skip_existing: true repository_url: https://test.pypi.org/legacy/ @@ -117,13 +117,13 @@ jobs: runs-on: ubuntu-latest needs: [build_wheels, build_sdist] steps: - - uses: actions/download-artifact@v3 + - uses: actions/upload-artifact@v8 with: name: artifact path: dist - name: upload_source_and_wheels - uses: pypa/gh-action-pypi-publish@v1.8.10 + uses: pypa/gh-action-pypi-publish@v1.14.0 check_testpypi: if: | @@ -141,7 +141,7 @@ jobs: steps: - name: setup python - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 631f17d..f4a66c2 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -21,14 +21,14 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 with: fetch-depth: 0 - name: setup_miniconda - uses: conda-incubator/setup-miniconda@v2 + uses: conda-incubator/setup-miniconda@v4 with: - python-version: 3.11 + python-version: 3.14 environment-file: docs/requirements.yaml auto-update-conda: true channel-priority: flexible @@ -55,7 +55,7 @@ jobs: user_name: 'github-actions' user_email: 'github-action@users.noreply.github.com' - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v7 if: github.event_name == 'pull_request' with: name: pr_docs diff --git a/.github/workflows/gh-ci.yaml b/.github/workflows/gh-ci.yaml index 88f2d8a..4b0357e 100644 --- a/.github/workflows/gh-ci.yaml +++ b/.github/workflows/gh-ci.yaml @@ -29,19 +29,17 @@ jobs: strategy: fail-fast: false matrix: - # macos-13 is x86_64 and macos-14 is arm64 - os: [ubuntu-latest, windows-latest, macos-14, macos-13] - python-version: ["3.10", "3.11", "3.12"] + # macos-latest = arm64, macos-15-intel = x86_64 + os: [ubuntu-latest, windows-latest, macos-latest, macos-15-intel] + python-version: ["3.11", "3.12", "3.13", "3.14"] mdanalysis-version: ["latest", "develop"] # Manually exclude any combinations of the test matrix that can't be run - exclude: - # The latest release of MDAnalysis only supports up to Python 3.11 - # so we exclude 3.12 from the test matrix (issue #68) - - python-version: "3.12" - mdanalysis-version: "latest" + #exclude: + # - python-version: "3.12" + # mdanalysis-version: "latest" steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 0 @@ -53,7 +51,7 @@ jobs: # More info on options: https://github.com/conda-incubator/setup-miniconda - name: Install conda dependencies - uses: conda-incubator/setup-miniconda@v3 + uses: conda-incubator/setup-miniconda@v4 with: python-version: ${{ matrix.python-version }} environment-file: devtools/conda-envs/test_env.yaml @@ -61,7 +59,7 @@ jobs: miniforge-variant: Mambaforge use-mamba: true - channels: conda-forge, defaults + channels: conda-forge activate-environment: mdaencore-test auto-update-conda: true @@ -101,9 +99,9 @@ jobs: - name: codecov if: github.repository == 'MDAnalysis/mdaencore' && github.event_name != 'schedule' - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v6 with: - file: coverage.xml + files: coverage.xml name: codecov-${{ matrix.os }}-py${{ matrix.python-version }} token: ${{ secrets.CODECOV_TOKEN }} verbose: True @@ -115,12 +113,12 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: - python-version: "3.11" + python-version: "3.14" - name: Install Pylint run: | @@ -140,12 +138,12 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: - python-version: "3.11" + python-version: "3.14" - name: Install dependencies run: | diff --git a/CHANGELOG.md b/CHANGELOG.md index 12f35fd..c59668c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ The rules for this file: - ianmkenney - tylerjereddy - IAlibay +- orbeckst ### Added @@ -32,7 +33,7 @@ The rules for this file: ### Changed - Update CI and wheel deployment to include macos-arm64 and py3.12 (PR #63) -- Minimum Python version has been raised to 3.10 (PR #66) +- Minimum Python version has been raised to 3.11 (PR #66, PR #76) - Minimum MDAnalysis version has been raised to 2.1.0 (PR #66) ### Deprecated From 1b619983de6de0aef69fb0ddc904a9e79aa4e705 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Thu, 23 Apr 2026 18:17:31 -0700 Subject: [PATCH 02/20] removed anaconda default channel - removed from CI - removed from RTD --- devtools/conda-envs/test_env.yaml | 1 - docs/requirements.yaml | 1 - 2 files changed, 2 deletions(-) diff --git a/devtools/conda-envs/test_env.yaml b/devtools/conda-envs/test_env.yaml index cf9350a..97ce5fe 100644 --- a/devtools/conda-envs/test_env.yaml +++ b/devtools/conda-envs/test_env.yaml @@ -1,7 +1,6 @@ name: mdaencore-test channels: - conda-forge - - defaults dependencies: # Base depends - python diff --git a/docs/requirements.yaml b/docs/requirements.yaml index b8e2125..9df4b53 100644 --- a/docs/requirements.yaml +++ b/docs/requirements.yaml @@ -1,6 +1,5 @@ name: mdaencore-docs channels: - - default - conda-forge dependencies: # Base depends From 51ead00e9495199ef7486f450aa7690b17d50830 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Thu, 23 Apr 2026 18:17:58 -0700 Subject: [PATCH 03/20] updated RTD build to use miniforge3 --- readthedocs.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readthedocs.yaml b/readthedocs.yaml index 875aac1..91a9a2b 100644 --- a/readthedocs.yaml +++ b/readthedocs.yaml @@ -6,9 +6,9 @@ sphinx: configuration: docs/source/conf.py build: - os: ubuntu-22.04 + os: ubuntu-24.04 tools: - python: "mambaforge-4.10" + python: "miniforge3-latest" python: install: From 3672ba7a3e2590bf11d8d891391f8fbaae5cb286 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Thu, 23 Apr 2026 18:22:14 -0700 Subject: [PATCH 04/20] Switch from mambaforge to miniforge in tests Use update from PR #70. --- .github/workflows/docs.yaml | 2 +- .github/workflows/gh-ci.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index f4a66c2..8d1fa26 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -33,7 +33,7 @@ jobs: auto-update-conda: true channel-priority: flexible channels: conda-forge - miniforge-variant: Mambaforge + miniforge-version: latest use-mamba: true - name: Build and install package diff --git a/.github/workflows/gh-ci.yaml b/.github/workflows/gh-ci.yaml index 4b0357e..d9c650b 100644 --- a/.github/workflows/gh-ci.yaml +++ b/.github/workflows/gh-ci.yaml @@ -57,7 +57,7 @@ jobs: environment-file: devtools/conda-envs/test_env.yaml add-pip-as-python-dependency: true - miniforge-variant: Mambaforge + miniforge-version: latest use-mamba: true channels: conda-forge From 335b947fdfdd16e9f0236ff4a006785444845f89 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Thu, 23 Apr 2026 18:46:29 -0700 Subject: [PATCH 05/20] updated deployment workflow - deploy Python 3.11 - 3.14 packages - updated macos intel images - fixed incorrect action upload -> download --- .github/workflows/deploy.yaml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index c674704..d9b17b6 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -19,7 +19,7 @@ concurrency: defaults: run: - shell: bash + shell: bash -l {0} jobs: @@ -32,11 +32,10 @@ jobs: fail-fast: false matrix: buildplat: - - [ubuntu-20.04, manylinux_x86_64, x86_64] - - [macos-11, macosx_*, x86_64] - - [windows-2019, win_amd64, AMD64] - - [macos-14, macosx_*, arm64] - python: ["cp39", "cp310", "cp311", "cp312"] + - [ubuntu-22.04, manylinux_x86_64, x86_64] + - [windows-2022, win_amd64, AMD64] + - [macos-15-intel, macosx_*, arm64] + python: ["cp311", "cp312", "cp313", "cp314"] steps: - uses: actions/checkout@v6 with: @@ -55,6 +54,7 @@ jobs: (github.event_name == 'release' && github.event.action == 'published') uses: actions/upload-artifact@v7 with: + name: wheel-${{ matrix.buildplat[0] }}-${{ matrix.python }} path: wheelhouse/*.whl retention-days: 7 @@ -93,9 +93,8 @@ jobs: runs-on: ubuntu-latest needs: [build_wheels, build_sdist] steps: - - uses: actions/upload-artifact@v8 + - uses: actions/download-artifact@v8 with: - name: artifact path: dist - name: upload_source_and_wheels @@ -117,7 +116,7 @@ jobs: runs-on: ubuntu-latest needs: [build_wheels, build_sdist] steps: - - uses: actions/upload-artifact@v8 + - uses: actions/download-artifact@v8 with: name: artifact path: dist @@ -137,7 +136,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.11", "3.12", "3.13", "3.14"] steps: - name: setup python From a15a2eb9e403db844483dfb1cca441378bb5e15d Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Tue, 28 Apr 2026 18:01:20 -0700 Subject: [PATCH 06/20] removed superfluous shell setting --- .github/workflows/gh-ci.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/gh-ci.yaml b/.github/workflows/gh-ci.yaml index d9c650b..909a2f8 100644 --- a/.github/workflows/gh-ci.yaml +++ b/.github/workflows/gh-ci.yaml @@ -73,7 +73,6 @@ jobs: version: ${{ matrix.mdanalysis-version }} install-tests: true installer: mamba - shell: bash -l {0} - name: Install package run: | From 95b9e702da482b3d8b2af4ee34403a71840ffb63 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Tue, 28 Apr 2026 18:12:59 -0700 Subject: [PATCH 07/20] Revert "removed superfluous shell setting" This reverts commit a15a2eb9e403db844483dfb1cca441378bb5e15d. --- .github/workflows/gh-ci.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/gh-ci.yaml b/.github/workflows/gh-ci.yaml index 909a2f8..d9c650b 100644 --- a/.github/workflows/gh-ci.yaml +++ b/.github/workflows/gh-ci.yaml @@ -73,6 +73,7 @@ jobs: version: ${{ matrix.mdanalysis-version }} install-tests: true installer: mamba + shell: bash -l {0} - name: Install package run: | From 00a69c4a6f42d22a575de2c25ec735732528e532 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Tue, 28 Apr 2026 18:26:30 -0700 Subject: [PATCH 08/20] try conda as mdanalysis-install installer --- .github/workflows/gh-ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gh-ci.yaml b/.github/workflows/gh-ci.yaml index d9c650b..50c150a 100644 --- a/.github/workflows/gh-ci.yaml +++ b/.github/workflows/gh-ci.yaml @@ -72,7 +72,7 @@ jobs: with: version: ${{ matrix.mdanalysis-version }} install-tests: true - installer: mamba + installer: conda shell: bash -l {0} - name: Install package From fbc099193283f22bf4feefdbca69a2d7f886852c Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Tue, 28 Apr 2026 18:43:41 -0700 Subject: [PATCH 09/20] try shell: bash -el {0} (-e option) recommended by https://github.com/conda-incubator/setup-miniconda --- .github/workflows/gh-ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/gh-ci.yaml b/.github/workflows/gh-ci.yaml index 50c150a..11f0f42 100644 --- a/.github/workflows/gh-ci.yaml +++ b/.github/workflows/gh-ci.yaml @@ -20,7 +20,7 @@ concurrency: defaults: run: - shell: bash -l {0} + shell: bash -el {0} jobs: main-tests: @@ -73,7 +73,7 @@ jobs: version: ${{ matrix.mdanalysis-version }} install-tests: true installer: conda - shell: bash -l {0} + shell: bash -el {0} - name: Install package run: | From 1ca2d222e95f63d5f017d025bef899fb5cbdedb3 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Tue, 28 Apr 2026 23:45:32 -0700 Subject: [PATCH 10/20] update pyproject.toml - update the license identifier - update the supported Python versions: 3.11 - 3.14 --- pyproject.toml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index ae1043f..400f2af 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,8 @@ build-backend = "setuptools.build_meta" [project] name = "mdaencore" description = "Ensemble overlap comparison software for molecular data." -license = {file = "LICENSE" } +license = "GPL-2.0-or-later" +license-files = ["LICENSE", "AUTHORS"] authors = [ {name = "Matteo Tiberti", email = "tiberti@cancer.dk"}, {name = "Wouter Boomsma", email = "wb@di.ku.dk"}, @@ -29,20 +30,20 @@ classifiers = [ "Development Status :: 6 - Mature", "Environment :: Console", "Intended Audience :: Science/Research", - "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: C", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Scientific/Engineering", "Topic :: Software Development :: Libraries :: Python Modules", ] readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" dependencies = [ "MDAnalysis>=2.1.0", "joblib", @@ -82,7 +83,6 @@ testpaths = [ [tool.black] line-length = 80 -extend-exclude = "versioneer.py" [tool.versioningit] default-version = "1+unknown" From 5cefa0c1de50a18f43c78309b0fb53e0411a9481 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Tue, 28 Apr 2026 23:53:45 -0700 Subject: [PATCH 11/20] clean up setup.cfg --- setup.cfg | 3 --- 1 file changed, 3 deletions(-) diff --git a/setup.cfg b/setup.cfg index 50ebcd0..87ea506 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,8 +5,6 @@ omit = # Omit the tests */tests/* - # Omit generated versioneer - mdaencore/_version.py [coverage:report] exclude_also = @@ -28,7 +26,6 @@ USE_TABS = False [flake8] # Flake8, PyFlakes, etc max-line-length = 80 -exclude = versioneer.py [aliases] test = pytest From 0eaaac25f62d05309c8047710f963cb3ce58d67f Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Wed, 29 Apr 2026 00:29:37 -0700 Subject: [PATCH 12/20] deployment: merge artifacts in dist dir --- .github/workflows/deploy.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index d9b17b6..bd29b0e 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -77,6 +77,7 @@ jobs: (github.event_name == 'release' && github.event.action == 'published') uses: actions/upload-artifact@v7 with: + name: dist-files path: dist/*.tar.gz retention-days: 7 @@ -96,12 +97,13 @@ jobs: - uses: actions/download-artifact@v8 with: path: dist + merge-multiple: true - name: upload_source_and_wheels uses: pypa/gh-action-pypi-publish@v1.14.0 with: - skip_existing: true - repository_url: https://test.pypi.org/legacy/ + skip-existing: true + repository-url: https://test.pypi.org/legacy/ upload_pypi: if: | @@ -118,8 +120,8 @@ jobs: steps: - uses: actions/download-artifact@v8 with: - name: artifact path: dist + merge-multiple: true - name: upload_source_and_wheels uses: pypa/gh-action-pypi-publish@v1.14.0 From 65a3b5b979945f51e7f087fd4a9b28b56b7d5b09 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Wed, 29 Apr 2026 01:27:04 -0700 Subject: [PATCH 13/20] deployment: ensure that correct release is pulled for testing --- .github/workflows/deploy.yaml | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index bd29b0e..ca9be9e 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -71,6 +71,19 @@ jobs: - name: Build sdist run: pipx run build --sdist + - name: Check package + run: | + twine check dist/*.tar.gz + + - name: Extract package version + id: extract-version + run: | + SDIST_FILE=$(ls dist/*.tar.gz) + # Extract version from sdist archive (format: mdaencore-1.0.1rc1.tar.gz) + VERSION=$(tar xf ${SDIST_FILE} -O '*/*.egg-info/PKG-INFO' | awk '/^Version:/ {print $2}') + echo "version=$VERSION" >> $GITHUB_OUTPUT + echo "Extracted version: $VERSION" + - name: upload artifacts if: | (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')) || @@ -133,7 +146,7 @@ jobs: name: testpypi check runs-on: ${{ matrix.os }} timeout-minutes: 60 - needs: upload_testpypi + needs: [upload_testpypi, build_sdist] strategy: fail-fast: false matrix: @@ -146,9 +159,12 @@ jobs: with: python-version: ${{ matrix.python-version }} - - name: pip install + - name: Wait for version to be available on TestPyPI (30 seconds) + run: sleep 30 + + - name: pip install mdaencore==${{ needs.build_sdist.outputs.version }} run: | - pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple mdaencore + pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple "mdaencore==${{ needs.build_sdist.outputs.version }} - name: install test deps run: | From 5eef3c89f5ff2f635da185fee796fb2995da4864 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Wed, 29 Apr 2026 01:33:07 -0700 Subject: [PATCH 14/20] deploy: install twine for check --- .github/workflows/deploy.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index ca9be9e..7e49273 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -68,10 +68,15 @@ jobs: with: fetch-depth: 0 + - name: Install build dependencies + run: | + python -m pip install --upgrade pip + pip install pipx twine + - name: Build sdist run: pipx run build --sdist - - name: Check package + - name: Check source package run: | twine check dist/*.tar.gz From 4d8c89c309ddb165521add75f0750b8b1b049dd4 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Wed, 29 Apr 2026 01:42:47 -0700 Subject: [PATCH 15/20] removed twine check - runs locally twin 6.2.0 - fails as part of CI (also 6.2.0) --- .github/workflows/deploy.yaml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 7e49273..7c97d78 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -68,18 +68,9 @@ jobs: with: fetch-depth: 0 - - name: Install build dependencies - run: | - python -m pip install --upgrade pip - pip install pipx twine - - name: Build sdist run: pipx run build --sdist - - name: Check source package - run: | - twine check dist/*.tar.gz - - name: Extract package version id: extract-version run: | From 1d9f702ebe0d8473623f052ed70c19e3493d8647 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Wed, 29 Apr 2026 01:44:43 -0700 Subject: [PATCH 16/20] use --wildcards for tar extraction --- .github/workflows/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 7c97d78..69799e4 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -76,7 +76,7 @@ jobs: run: | SDIST_FILE=$(ls dist/*.tar.gz) # Extract version from sdist archive (format: mdaencore-1.0.1rc1.tar.gz) - VERSION=$(tar xf ${SDIST_FILE} -O '*/*.egg-info/PKG-INFO' | awk '/^Version:/ {print $2}') + VERSION=$(tar xf ${SDIST_FILE} -O --wildcards '*/*.egg-info/PKG-INFO' | awk '/^Version:/ {print $2}') echo "version=$VERSION" >> $GITHUB_OUTPUT echo "Extracted version: $VERSION" From 3115174d1a0728b8eaf628c219db2867eb3828c6 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Wed, 29 Apr 2026 01:55:54 -0700 Subject: [PATCH 17/20] fix testpypi installation --- .github/workflows/deploy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 69799e4..0d93a5c 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -158,9 +158,9 @@ jobs: - name: Wait for version to be available on TestPyPI (30 seconds) run: sleep 30 - - name: pip install mdaencore==${{ needs.build_sdist.outputs.version }} + - name: pip install mdaencore from testpypi (${{ needs.build_sdist.outputs.version }}) run: | - pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple "mdaencore==${{ needs.build_sdist.outputs.version }} + pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple "mdaencore==${{ needs.build_sdist.outputs.version }}" - name: install test deps run: | From 05144d2d170e990e03d71cbb6c714f971995bf7a Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Wed, 29 Apr 2026 02:19:33 -0700 Subject: [PATCH 18/20] add missing outputs --- .github/workflows/deploy.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 0d93a5c..0e5fe3b 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -63,6 +63,8 @@ jobs: name: build package source distribution runs-on: ubuntu-latest timeout-minutes: 10 + outputs: + version: ${{ steps.extract-version.outputs.version }} steps: - uses: actions/checkout@v6 with: From 889596224aa6e3ee27138a1286a2b2fcf74788c3 Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Wed, 29 Apr 2026 13:02:58 -0700 Subject: [PATCH 19/20] use macos-15 runner We are not building macos x86_64 wheels so we should use the M1 runner --- .github/workflows/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 0e5fe3b..86fe633 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -34,7 +34,7 @@ jobs: buildplat: - [ubuntu-22.04, manylinux_x86_64, x86_64] - [windows-2022, win_amd64, AMD64] - - [macos-15-intel, macosx_*, arm64] + - [macos-15, macosx_*, arm64] python: ["cp311", "cp312", "cp313", "cp314"] steps: - uses: actions/checkout@v6 From 029ae45c3c92001bfe1622776d118ad5d584b5df Mon Sep 17 00:00:00 2001 From: Oliver Beckstein Date: Wed, 29 Apr 2026 13:13:09 -0700 Subject: [PATCH 20/20] pyproject.toml: fixed pattern for AUTHORS.md file (was not packaged) --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 400f2af..ad94f80 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,7 @@ build-backend = "setuptools.build_meta" name = "mdaencore" description = "Ensemble overlap comparison software for molecular data." license = "GPL-2.0-or-later" -license-files = ["LICENSE", "AUTHORS"] +license-files = ["LICENSE", "AUTHORS.md"] authors = [ {name = "Matteo Tiberti", email = "tiberti@cancer.dk"}, {name = "Wouter Boomsma", email = "wb@di.ku.dk"},