Skip to content

Add option to allow not using the vendored LASZip #207

Add option to allow not using the vendored LASZip

Add option to allow not using the vendored LASZip #207

Workflow file for this run

---
name: CI
on:
push:
branches:
- '*'
release:
types:
- published
pull_request:
branches:
- '*'
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
wheels:
name: Build wheel on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
env:
CIBW_SKIP: pp* *-win32
CIBW_TEST_REQUIRES:
CIBW_TEST_COMMAND: 'python -c "import laszip"'
# we are copying the shared libraries ourselves so skip magical copy
CIBW_REPAIR_WHEEL_COMMAND_MACOS: ""
MACOSX_DEPLOYMENT_TARGET: 10.9
CIBW_BUILD_VERBOSITY_MACOS: 3
# CIBW_TEST_SKIP: "*-macosx_arm64 *-macosx_universal2:arm64"
CIBW_ARCHS_MACOS: "x86_64 arm64"
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: ""
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.12'
- name: Install cibuildwheel
run: |
python -m pip install cibuildwheel==2.17.0
- uses: ilammy/msvc-dev-cmd@v1
if: startsWith(matrix.os, 'windows')
- name: Build wheels
run: |
python3 -m cibuildwheel --output-dir wheelhouse
- uses: actions/upload-artifact@v2
with:
name: ${{ matrix.os }}-whl
path: wheelhouse/*.whl
wheels_aarch64:
name: Build wheel on aarch64 for ${{ matrix.python_tag }}
runs-on: ubuntu-latest
strategy:
matrix:
python_tag: [ "cp37-*", "cp38-*", "cp39-*", "cp310-*", "cp311-*", "cp312-*"]
env:
CIBW_ARCHS_LINUX: aarch64
CIBW_BUILD: ${{matrix.python_tag}}
CIBW_TEST_REQUIRES: pytest numpy
CIBW_TEST_COMMAND: "python -c 'import laszip'"
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
name: Install Python
with:
python-version: '3.11'
- name: Install cibuildwheel
run: |
python -m pip install cibuildwheel==2.17.0
- uses: docker/setup-qemu-action@v2
name: Set up QEMU
- name: Build wheels
run: |
python -m cibuildwheel --output-dir wheelhouse
- uses: actions/upload-artifact@v3
with:
name: aarch64-whl
path: wheelhouse/*.whl
pypi-publish:
needs: [wheels, wheels_aarch64]
name: Gather wheels and publish release to PyPI
runs-on: ubuntu-latest
environment:
name: release
url: https://pypi.org/project/laszip/
permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.12'
- name: Install dependencies
shell: bash -l {0}
run: |
python -m pip install build pipx twine
pipx run build --sdist
- name: Download artifacts
uses: actions/download-artifact@v3
with:
path: dist
- name: Display structure of downloaded files
run: ls -R
working-directory: dist
- name: Unpack
shell: bash -l {0}
working-directory: dist
run: |
for f in *whl
do
cd "$f"
cp *.whl ..
cd ..
done;
rm -rf *\-whl
ls -al
- name: Publish package distributions to PyPI
if: github.event_name == 'release' && github.event.action == 'published'
uses: pypa/gh-action-pypi-publish@release/v1