diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index a668a676..c7453e27 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -6,18 +6,19 @@ on: env: BUILD_TYPE: Release MIN_CIBUILDWHEEL_VERSION: 2.16.2 + PYTHON_VERSION: 3.x jobs: build_sdist: name: Source distribution runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 name: Install Python with: - python-version: '3.x' + python-version: ${{ env.PYTHON_VERSION }} - name: Install build package run: python -m pip install build --user @@ -25,9 +26,12 @@ jobs: - name: Build sdist run: python -m build --sdist --outdir dist - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: + name: sdist path: dist/*.tar.gz + compression-level: 0 # contents are already compressed + build_wheels: name: ${{ matrix.config.name }} @@ -69,16 +73,16 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - - name: Set up Python 3.x - uses: actions/setup-python@v4 + - name: Set up Python + uses: actions/setup-python@v5 with: - python-version: '3.x' + python-version: ${{ env.PYTHON_VERSION }} - name: Set up QEMU for linux/arm64 builds if: runner.os == 'Linux' && matrix.config.use-qemu == true - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 with: platforms: arm64 @@ -88,8 +92,25 @@ jobs: - name: Build wheels run: python -m cibuildwheel --output-dir dist env: + CIBW_ENVIRONMENT_MACOS: CMAKE_OSX_ARCHITECTURES=${{ matrix.config.cibw-arch == 'macosx_x86_64' && 'x86_64' || matrix.config.cibw-arch == 'macosx_arm64' && 'arm64' || '' }} CIBW_BUILD: "*-${{ matrix.config.cibw-arch }}" + MACOSX_DEPLOYMENT_TARGET: "10.14" # min supporting c++17 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: + name: wheels-${{ matrix.config.os }}-${{ matrix.config.cibw-arch }} path: ./dist/*.whl + compression-level: 0 # contents are already compressed + + + aggregate_artifacts: + name: Aggregate artifacts + runs-on: ubuntu-latest + needs: [build_sdist, build_wheels] + steps: + - name: Merge Artifacts + uses: actions/upload-artifact/merge@v4 + with: + name: python_wheels + compression-level: 0 + delete-merged: true diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index adddde12..ae2699c4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,9 +35,9 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Python 3.x - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 # 3.x uses the latest minor version of python3. This may break briefly when there is a new version # but dependent libraries (e.g. numpy) have not yet released a compatible update. # May need to enable version pinning (e.g. 3.10) temporarily at times. diff --git a/.github/workflows/sphinx.yml b/.github/workflows/sphinx.yml index 1b30f344..12e864f6 100644 --- a/.github/workflows/sphinx.yml +++ b/.github/workflows/sphinx.yml @@ -11,9 +11,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.x' - name: Install Datasketches and Sphinx diff --git a/pyproject.toml b/pyproject.toml index ff2becd5..5c584ec2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,6 +36,3 @@ before-build = "yum remove -y cmake" [tool.cibuildwheel.macos] archs = ["x86_64", "arm64"] - -# Minimum version for proper C++17 support on MacOS -environment = { MACOSX_DEPLOYMENT_TARGET = "10.14" } diff --git a/version.cfg.in b/version.cfg.in index 0062ac97..6b244dcd 100644 --- a/version.cfg.in +++ b/version.cfg.in @@ -1 +1 @@ -5.0.0 +5.0.1