From 82436d3f7e659d6b00abfd8f20443fd5ffe9ac38 Mon Sep 17 00:00:00 2001 From: Ayan Sinha Mahapatra Date: Fri, 24 Apr 2026 17:12:37 +0530 Subject: [PATCH 1/3] Test linux arm support Signed-off-by: Ayan Sinha Mahapatra --- .github/workflows/docs-ci.yml | 7 ++++-- .github/workflows/pypi-release.yml | 34 ++++++++++++++++---------- .github/workflows/test-and-build.yml | 36 +++++++++++++++++++--------- 3 files changed, 52 insertions(+), 25 deletions(-) diff --git a/.github/workflows/docs-ci.yml b/.github/workflows/docs-ci.yml index 696ac6f..a40f95c 100644 --- a/.github/workflows/docs-ci.yml +++ b/.github/workflows/docs-ci.yml @@ -2,6 +2,7 @@ name: CI Documentation on: [push, pull_request] +permissions: {} jobs: build: runs-on: ubuntu-24.04 @@ -13,10 +14,12 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd + with: + persist-credentials: false - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/pypi-release.yml b/.github/workflows/pypi-release.yml index 3184c90..2eedaa2 100644 --- a/.github/workflows/pypi-release.yml +++ b/.github/workflows/pypi-release.yml @@ -18,6 +18,7 @@ on: tags: - "v*.*.*" +permissions: {} jobs: build-wheels: name: Build unicode wheels ${{ matrix.type }} ${{ matrix.arch }} on ${{ matrix.os }} @@ -39,6 +40,11 @@ jobs: build: "cp{310,311,312,313,314}-*" CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + - os: ubuntu-24.04-arm + arch: aarch64 + build: "cp{310,311,312,313,314}-*" + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + - os: macos-latest arch: universal2 build: "cp{310,311,312,313,314}-*" @@ -48,20 +54,22 @@ jobs: build: "cp{310,311,312,313,314}-*" steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd + with: + persist-credentials: false - name: Build wheels and run tests - uses: pypa/cibuildwheel@v3.2.1 + uses: pypa/cibuildwheel@8d2b08b68458a16aeb24b64e68a09ab1c8e82084 env: CIBW_BUILD: ${{ matrix.build }} - CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.CIBW_MANYLINUX_I686_IMAGE }} CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.CIBW_MANYLINUX_X86_64_IMAGE }} + CIBW_MANYLINUX_AARCH64_IMAGE: ${{ matrix.CIBW_MANYLINUX_AARCH64_IMAGE }} CIBW_ARCHS: ${{ matrix.arch }} CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: pytest -vvs {project}/tests - name: Collect built wheels - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f with: name: cyseq-wheels-${{ matrix.os }}-${{ strategy.job-index }} path: ./wheelhouse/*.whl @@ -71,7 +79,9 @@ jobs: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd + with: + persist-credentials: false - name: Checkout and install reqs run: | @@ -83,7 +93,7 @@ jobs: twine check dist/* - name: Collect built sdist - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f with: name: cyseq-sdist path: dist/*.tar.gz @@ -93,7 +103,7 @@ jobs: needs: [build-sdist, build-wheels] steps: - name: Merge created wheels and sdist in a single zip - uses: actions/upload-artifact/merge@v4 + uses: actions/upload-artifact/merge@b7c566a772e6b6bfb58ed0dc250532a479d7789f with: name: cyseq-build pattern: cyseq-* @@ -103,7 +113,7 @@ jobs: needs: merge runs-on: ubuntu-22.04 steps: - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 with: path: cyseq-build - run: find . -ls @@ -117,13 +127,13 @@ jobs: steps: - name: Download builds - uses: actions/download-artifact@v4 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 with: name: cyseq-build path: cyseq-build - name: Create GH release - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda with: draft: true files: cyseq-build/* @@ -139,7 +149,7 @@ jobs: steps: - name: Download builds - uses: actions/download-artifact@v4 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 with: name: cyseq-build path: dist/ @@ -150,4 +160,4 @@ jobs: - name: Publish to PyPI if: startsWith(github.ref, 'refs/tags') - uses: pypa/gh-action-pypi-publish@release/v1 + uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b diff --git a/.github/workflows/test-and-build.yml b/.github/workflows/test-and-build.yml index 116cd67..1a8baec 100644 --- a/.github/workflows/test-and-build.yml +++ b/.github/workflows/test-and-build.yml @@ -25,6 +25,7 @@ name: Run tests and build wheel and sdist on all supported OS and Python on: [push, pull_request, workflow_dispatch] +permissions: {} jobs: build_wheels: name: Build unicode wheels ${{ matrix.type }} ${{ matrix.arch }} on ${{ matrix.os }} @@ -46,6 +47,11 @@ jobs: build: "cp{310,311,312,313,314}-*" CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + - os: ubuntu-24.04-arm + arch: aarch64 + build: "cp{310,311,312,313,314}-*" + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + - os: macos-latest arch: universal2 build: "cp{310,311,312,313,314}-*" @@ -55,14 +61,16 @@ jobs: build: "cp{310,311,312,313,314}-*" steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd + with: + persist-credentials: false - name: Build wheels and run tests - uses: pypa/cibuildwheel@v3.2.1 + uses: pypa/cibuildwheel@8d2b08b68458a16aeb24b64e68a09ab1c8e82084 env: CIBW_BUILD: ${{ matrix.build }} - CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.CIBW_MANYLINUX_I686_IMAGE }} CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.CIBW_MANYLINUX_X86_64_IMAGE }} + CIBW_MANYLINUX_AARCH64_IMAGE: ${{ matrix.CIBW_MANYLINUX_AARCH64_IMAGE }} CIBW_ARCHS: ${{ matrix.arch }} CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: pytest -vvs {project}/tests @@ -70,7 +78,7 @@ jobs: CIBW_SKIP: "pp*" - name: Collect built wheels - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f with: name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} path: ./wheelhouse/*.whl @@ -80,7 +88,9 @@ jobs: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd + with: + persist-credentials: false - name: Checkout and install reqs run: | @@ -92,7 +102,7 @@ jobs: twine check dist/* - name: Collect built sdist - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f with: path: dist/*.tar.gz @@ -106,16 +116,18 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-22.04, ubuntu-24.04, macos-13, macos-14] + os: [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, macos-14, macos-15] python: ["3.10", "3.11", "3.12", "3.13", "3.14"] steps: - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 with: python-version: "${{ matrix.python }}" - - uses: actions/checkout@v4 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd + with: + persist-credentials: false - name: Build, install and test run: > @@ -134,11 +146,13 @@ jobs: steps: - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 with: python-version: "${{ matrix.python }}" - - uses: actions/checkout@v4 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd + with: + persist-credentials: false - name: Build, install and test run: > From ac27a7a35923b11b3b758ca3f29796284daea499 Mon Sep 17 00:00:00 2001 From: Ayan Sinha Mahapatra Date: Fri, 24 Apr 2026 21:09:02 +0530 Subject: [PATCH 2/3] Fix pypi sdist build test Failing test: https://github.com/aboutcode-org/cyseq/actions/runs/24887717643/job/72871767414 This was from https://pypi.org/project/setuptools-scm/10.0.5/ Signed-off-by: Ayan Sinha Mahapatra --- .github/workflows/pypi-release.yml | 1 + .github/workflows/test-and-build.yml | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pypi-release.yml b/.github/workflows/pypi-release.yml index 2eedaa2..4ff9350 100644 --- a/.github/workflows/pypi-release.yml +++ b/.github/workflows/pypi-release.yml @@ -86,6 +86,7 @@ jobs: - name: Checkout and install reqs run: | pip install --upgrade --user build twine pkginfo packaging pip setuptools cython + pip install setuptools-scm==10.0.4 - name: Build sdist run: | diff --git a/.github/workflows/test-and-build.yml b/.github/workflows/test-and-build.yml index 1a8baec..e532e6f 100644 --- a/.github/workflows/test-and-build.yml +++ b/.github/workflows/test-and-build.yml @@ -74,8 +74,6 @@ jobs: CIBW_ARCHS: ${{ matrix.arch }} CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: pytest -vvs {project}/tests - # Skip PyPy wheels - CIBW_SKIP: "pp*" - name: Collect built wheels uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f @@ -95,6 +93,7 @@ jobs: - name: Checkout and install reqs run: | pip install --upgrade --user build twine pkginfo packaging pip setuptools cython + pip install setuptools-scm==10.0.4 - name: Build sdist run: | From 405f4c8a75a524c3bf391ee2242cd23a163a53f1 Mon Sep 17 00:00:00 2001 From: Ayan Sinha Mahapatra Date: Fri, 24 Apr 2026 21:14:40 +0530 Subject: [PATCH 3/3] Bump version to v0.1.3 Signed-off-by: Ayan Sinha Mahapatra --- CHANGELOG.rst | 6 ++++++ setup.cfg | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 007bede..ae673be 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,12 @@ Changelog ========= +v0.1.3 +------ + +*2026-04-24* -- Also test and build linux arm wheels + + v0.1.2 ------ diff --git a/setup.cfg b/setup.cfg index e21b8f2..02aa946 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = cyseq -version = 0.1.2 +version = 0.1.3 license = Apache-2.0 # description must be on ONE line https://github.com/pypa/setuptools/issues/1390