New functionality #37
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: cibuildwheel | |
on: [pull_request] | |
jobs: | |
build_wheels: | |
name: Build wheels on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [windows-latest, macOS-latest, ubuntu-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: checkout submodules | |
run: git submodule update --init --recursive | |
# Used to host cibuildwheel | |
- uses: actions/setup-python@v4 | |
- name: Install cibuildwheel and other dependencies | |
run: python -m pip install cibuildwheel==2.17.0 build wheel setuptools | |
- name: Build sdist | |
run: pipx run build --sdist --outdir wheelhouse | |
if: runner.os == 'Windows' | |
- name: Build wheels | |
uses: pypa/[email protected] # run: python -m cibuildwheel --output-dir wheelhouse | |
env: | |
CIBW_ARCHS: auto64 | |
CIBW_ARCHS_MACOS: "universal2" | |
CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.0 | |
CIBW_ENVIRONMENT_LINUX: CXXFLAGS='-fconcepts' | |
CIBW_BUILD_VERBOSITY_WINDOWS: 2 | |
CIBW_SKIP: "*pypy* *pp* *cp36* *cp37* *musl*" | |
with: | |
package-dir: . | |
output-dir: "./wheelhouse" | |
config-file: "{package}/pyproject.toml" | |
- name: Upload Wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-${{ matrix.os }} | |
path: ./wheelhouse/*.whl | |
merge_wheels: | |
runs-on: ubuntu-latest | |
needs: build_wheels | |
steps: | |
- name: Merge Artifacts | |
uses: actions/upload-artifact/merge@v4 | |
with: | |
name: artifact | |
pattern: wheels-* | |
release_wheels: # Create or update the release tagged Latest-beta, and upload wheels to that release. | |
# if: github.ref == 'refs/heads/main' && github.event_name == 'push' | |
needs: build_wheels | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Download created wheels | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: wheels-* | |
- name: Display full directory status | |
run: ls -R . | |
- name: zip wheels | |
run: | | |
for dir in wheels-*; do | |
zip -r "${dir}.zip" ${dir} | |
done | |
- name: Display current directory status | |
run: ls | |
- uses: ncipollo/release-action@v1 | |
with: | |
allowUpdates: true | |
prerelease: true | |
updateOnlyUnreleased: true | |
removeArtifacts: true | |
name: "Latest (beta)" | |
tag: Latest-beta | |
commit: main | |
makeLatest: true | |
bodyFile: ".github/release_bodyFile.md" | |
artifacts: "wheels-*.zip" | |