Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix the PyPi uploading #44

Merged
merged 2 commits into from
Jun 21, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 29 additions & 30 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,25 +31,36 @@ jobs:
if-no-files-found: error

build_wheels:
name: Build wheel on ${{ matrix.os }}
name: Build wheel on ${{ matrix.os }} for ${{ matrix.cibw_archs }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# Include macos-13 to get Intel x86_64 macs and maos-latest to get the Aaarch64 macs
os: [ubuntu-latest, macos-latest, macos-13, windows-2022]

# Build on the native architectures (macos-latest is arm64. macos-13 is x86_64)
include:
- os: macos-latest
osx_arch: 'arm64'
- os: macos-13
osx_arch: 'x86_64'
- os: ubuntu-latest
cibw_archs: "x86_64"
- os: ubuntu-latest
cibw_archs: "aarch64"
- os: windows-2022
cibw_archs: "auto64"
# Include macos-13 to get Intel x86_64 macs and maos-latest to get the Aaarch64 macs
- os: macos-13
cibw_archs: "x86_64"
- os: macos-latest
cibw_archs: "arm64"

steps:
- uses: actions/checkout@master
with:
submodules: 'recursive'

# This might not be necessary once ARM runners become available for general use
- name: Set up QEMU
if: matrix.cibw_archs == 'aarch64'
uses: docker/setup-qemu-action@v3
with:
platforms: arm64

- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
if: startsWith(matrix.os,'windows')
Expand All @@ -69,6 +80,7 @@ jobs:
uses: pypa/[email protected]
env:
CIBW_BUILD: "cp3*"
CIBW_ARCHS: ${{ matrix.cibw_archs }}
CIBW_SKIP: "*-win32 *-manylinux_i686 *-musllinux_*"
CIBW_MANYLINUX_X86_64_IMAGE: "dockcross/manylinux2014-x64"
CIBW_TEST_REQUIRES: "pytest"
Expand All @@ -79,50 +91,37 @@ jobs:
CIBW_BEFORE_BUILD: >-
rm -rf {package}/c/build
CIBW_ENVIRONMENT_LINUX: CMAKE_GENERATOR="Unix Makefiles"
CIBW_ENVIRONMENT_MACOS: CMAKE_GENERATOR="Unix Makefiles" CMAKE_OSX_ARCHITECTURES=${{ matrix.osx_arch }}
CIBW_ENVIRONMENT_MACOS: CMAKE_GENERATOR="Unix Makefiles" CMAKE_OSX_ARCHITECTURES=${{ matrix.cibw_archs }}
CIBW_ENVIRONMENT_WINDOWS: CMAKE_GENERATOR="Visual Studio 17 2022" CMAKE_GENERATOR_PLATFORM=x64
CIBW_BUILD_VERBOSITY: 1

- name: Upload artifacts to github
uses: actions/upload-artifact@v4
with:
name: wheels-${{ matrix.os }}
name: wheels-${{ runner.os }}-${{ matrix.cibw_archs }}
path: ./wheelhouse/*.whl
if-no-files-found: error


merge_wheel_artifacts:
name: Merge wheel artifacts
runs-on: ubuntu-latest
needs: [build_sdist, build_wheels]
steps:
- name: Merge artifacts
uses: actions/upload-artifact/merge@v4
with:
name: wheels
pattern: wheels-*
delete-merged: true


publish_to_pypi:
name: Publish wheels to PyPi
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
needs: merge_wheel_artifacts
needs: [build_sdist, build_wheels]
runs-on: ubuntu-latest
steps:
- name: Download packages
uses: actions/download-artifact@v4
with:
pattern: wheels*
path: wheelhouse
pattern: wheels-*
path: dist
merge-multiple: true

- name: Print out packages
run: ls wheelhouse
run: ls -la dist/*

- name: Upload wheels to pypi
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.pypi_password }}
run: |
python -m pip install --upgrade twine
twine upload wheelhouse/*
twine upload dist/*
Loading