Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 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
33 changes: 23 additions & 10 deletions .github/workflows/ci-wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,35 +26,49 @@ concurrency:

jobs:
build_bdist:
name: "Build bdist ${{ matrix.arch }} ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
name: "Build ${{ matrix.os }} (${{ matrix.arch }}) wheels"
runs-on: ${{ matrix.os }}-latest
strategy:
fail-fast: false
matrix:
# TBD: extend to support osx and windows
Comment thread
trexfeathers marked this conversation as resolved.
os: [ubuntu-latest]
arch: [auto64]
os: ["ubuntu", "macos"]
arch: ["x86_64", "arm64"]
exclude:
- os: ubuntu
arch: arm64
include:
- os: ubuntu
incdir: /usr/include/udunits2
libdir: /usr/lib64
xml_path: /usr/share/udunits/udunits2.xml
- os: macos
incdir: /usr/local/Cellar/udunits/2.2.28/include
libdir: /usr/local/Cellar/udunits/2.2.28/lib
xml_path: /usr/local/Cellar/udunits/2.2.28/share/udunits/udunits2-common.xml

steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: "Building bdist"
- name: "Building ${{ matrix.os }} (${{ matrix.arch }}) wheels"
uses: pypa/cibuildwheel@v2.8.0
env:
CIBW_SKIP: "cp36-* cp37-* pp* *-musllinux*"
CIBW_ARCHS: ${{ matrix.arch }}
CIBW_BUILD_FRONTEND: build
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
CIBW_BEFORE_BUILD_LINUX: yum install -y udunits2-devel
CIBW_BEFORE_BUILD_MACOS: brew install udunits
# https://cibuildwheel.readthedocs.io/en/stable/faq/#apple-silicon
CIBW_TEST_SKIP: "*_arm64"
CIBW_TEST_REQUIRES: pytest
CIBW_TEST_COMMAND: >
python -c 'import cf_units; print(f"cf-units v{cf_units.__version__}")' &&
python -m pytest --pyargs cf_units
UDUNITS2_INCDIR: /usr/include/udunits2
UDUNITS2_LIBDIR: /usr/lib64
UDUNITS2_XML_PATH: /usr/share/udunits/udunits2.xml
UDUNITS2_INCDIR: ${{ matrix.incdir }}
UDUNITS2_LIBDIR: ${{ matrix.libdir }}
UDUNITS2_XML_PATH: ${{ matrix.xml_path }}
CIBW_ENVIRONMENT_PASS_LINUX: UDUNITS2_INCDIR UDUNITS2_LIBDIR UDUNITS2_XML_PATH

- uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -135,4 +149,3 @@ jobs:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
print_hash: true

20 changes: 12 additions & 8 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
include *.txt
include *.md
recursive-include cf_units *.py *.pxd *.pyx *.c
include cf_units/etc/site.cfg.template
include CHANGES COPYING COPYING.LESSER INSTALL
exclude cf_units/etc/site.cfg
graft requirements
# Top-level files
include CHANGES COPYING COPYING.LESSER INSTALL README.md
prune .github
exclude cf_units/_version.py
Comment thread
trexfeathers marked this conversation as resolved.
exclude .gitignore

# Files required for conda package management
recursive-include requirements *

# Files required to build docs
recursive-include docs *
prune docs/build

exclude cf_units/etc/site.cfg
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ install_requires =
numpy
# udunits2 cannot be installed with pip, and it is expected to be
# installed separately.
packages = find:
packages = find_namespace:
python_requires =
>=3.8
zip_safe = False
Expand Down