diff --git a/.github/workflows/publish-to-test.yaml b/.github/workflows/publish-to-test.yaml index e46a91b..1aa1b77 100644 --- a/.github/workflows/publish-to-test.yaml +++ b/.github/workflows/publish-to-test.yaml @@ -2,64 +2,62 @@ name: Publish Python 🐍 distribution 📦 to TestPyPI on: push: - tags: - - 'v[0-9]+.[0-9]+.[0-9]+a[0-9]+' # only run on alpha tags + # tags: + # - 'v[0-9]+.[0-9]+.[0-9]+a[0-9]+' # only run on alpha tags jobs: - build: - name: Build distribution 📦 - runs-on: macos-latest + build_wheels: + name: Build wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + # macos-13 is an intel runner, macos-14 is apple silicon + os: [ubuntu-latest, macos-14] steps: - - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: "3.x" - - - name: Install uv - uses: astral-sh/setup-uv@v4 - - - name: Build - env: - CFLAGS: -I/opt/homebrew/include - LDFLAGS: -L/opt/homebrew/lib - run: | - uv build --sdist - uv build --wheel -p 3.9 - uv build --wheel -p 3.10 - uv build --wheel -p 3.11 - uv build --wheel -p 3.12 - uv build --wheel -p 3.13 - - - name: Store the distribution packages - uses: actions/upload-artifact@v4 - with: - name: python-package-distributions - path: dist/ - - publish-to-testpypi: - name: Publish Python 🐍 distribution 📦 to TestPyPI - needs: - - build - runs-on: ubuntu-latest - - environment: - name: testpypi - url: https://test.pypi.org/p/fastecdsa - - permissions: - id-token: write # IMPORTANT: mandatory for trusted publishing - - steps: - - name: Download all the dists - uses: actions/download-artifact@v4 - with: - name: python-package-distributions - path: dist/ - - name: Publish distribution 📦 to TestPyPI - uses: pypa/gh-action-pypi-publish@release/v1 - with: - verbose: true - repository-url: https://test.pypi.org/legacy/ + - uses: actions/checkout@v4 + + - name: Build wheels + uses: pypa/cibuildwheel@v2.22.0 + env: + CIBW_BEFORE_ALL_LINUX: > + yum update && + yum install -y gmp-devel + CIBW_BUILD: cp39-* cp310-* cp311-* cp312-* cp313-* + CIBW_ENVIRONMENT_LINUX: CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" + CIBW_ENVIRONMENT_MACOS: CFLAGS="-I/opt/homebrew/include" LDFLAGS="-L/opt/homebrew/lib" + MACOSX_DEPLOYMENT_TARGET: 14.0 + # with: + # package-dir: fastecdsa + # output-dir: wheelhouse + # config-file: pyproject.toml + + - uses: actions/upload-artifact@v4 + with: + name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} + path: ./wheelhouse/*.whl + + # publish-to-testpypi: + # name: Publish Python 🐍 distribution 📦 to TestPyPI + # needs: + # - build + # runs-on: ubuntu-latest + + # environment: + # name: testpypi + # url: https://test.pypi.org/p/fastecdsa + + # permissions: + # id-token: write # IMPORTANT: mandatory for trusted publishing + + # steps: + # - name: Download all the dists + # uses: actions/download-artifact@v4 + # with: + # name: python-package-distributions + # path: dist/ + # - name: Publish distribution 📦 to TestPyPI + # uses: pypa/gh-action-pypi-publish@release/v1 + # with: + # verbose: true + # repository-url: https://test.pypi.org/legacy/ diff --git a/docs/conf.py b/docs/conf.py index 19b4bbb..c324086 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -64,7 +64,7 @@ # The short X.Y version. version: str = "3.0" # The full version, including alpha/beta/rc tags. -release: str = "3.0.0a0" +release: str = "3.0.0a1" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages.