-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* first attempt at a meson build * added all fortran modules to meson.build * update pyproject.toml with meson build-backend * link fortranobject.c to build f sources * missing tag - probably does nothing * meson default is to install sources as a module (not submodule) * make pyproject.toml a bit more verbose * getting closer using subdir * don't want f2py to generate module files since these are already generated in the .pyf headers * no _ssrfpack_f2pywrappers.f * build PYPI wheels using meson * build with python 3.12 * update CI * update manylinux build * try getting libquadmath as a dependency * try installing using a fortran environment on windows * increment gcc to version 12 * ooops - typo * try again... * try another test using micromamba * try now * try now.. * remove micromamba - more trouble than its worth * maybe gfortran v11 will fix windows? * try intel compiler * update windows fortran * wheelhouse actions * project requires meson instead of meson-python * revert to mesonpy * update wheelhouse platforms * update wheelhouse to use fortran and mesa images * meson build * add python dependencies * add python meson dependency * try initialising pip install from cibuildwheel env * update pip index-url * try setting up a build machine with ninja * move build env to another yaml * move build env to a separate directory * typo * restrict to python 3.7 or greater * run pytest * run pytest in correct folder * not working on windows... * install ninja * remove ninja installation on linux * try restricting to 64-bit builds * -lquadmath * replace pkg_resources with importlib.resources * do not build pypy wheels * restrict env variable to windows * install gcc on mac * maybe these platform specific arguments are no good * revert platform in meson.build * revert -lquadmath in meson.build * try reinstalling gcc on mac * remove scipy dependency * upload to PYPI on release * just test on ubuntu with different python versions --------- Co-authored-by: Ben Mather <brmather1@gmail.com>
- Loading branch information
Showing
9 changed files
with
296 additions
and
312 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
name: Build wheels | ||
|
||
on: [push] | ||
|
||
jobs: | ||
build_wheels: | ||
name: Build wheels on ${{ matrix.os }} | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ubuntu-latest, macos-latest, windows-latest] | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-python@v4 | ||
with: | ||
python-version: 3.x | ||
|
||
- name: Build wheels | ||
uses: pypa/cibuildwheel@v2.16.2 | ||
env: | ||
# Disable building PyPy wheels on all platforms | ||
CIBW_SKIP: 'pp*' | ||
CIBW_ENVIRONMENT_WINDOWS: "CFLAGS='-lquadmath'" | ||
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.7" | ||
CIBW_ARCHS: 'auto64' | ||
CIBW_BEFORE_BUILD_WINDOWS: "choco install ninja" | ||
CIBW_BEFORE_BUILD_MACOS: "brew install ninja gcc && brew reinstall gcc" | ||
# CIBW_BEFORE_BUILD_LINUX: "apt-get install -y ninja-build" | ||
CIBW_BEFORE_BUILD: "pip install numpy meson-python ninja setuptools build" | ||
CIBW_TEST_REQUIRES: pytest | ||
CIBW_TEST_COMMAND: "pytest {project}/stripy/tests" | ||
# ... | ||
# with: | ||
# package-dir: . | ||
# output-dir: wheelhouse | ||
# config-file: "{package}/pyproject.toml" | ||
|
||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./wheelhouse/*.whl | ||
|
||
build_sdist: | ||
name: Build source distribution | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Build sdist | ||
run: pipx run build --sdist | ||
|
||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: dist/*.tar.gz | ||
|
||
upload_pypi: | ||
needs: [build_wheels, build_sdist] | ||
runs-on: ubuntu-latest | ||
environment: pypi | ||
permissions: | ||
id-token: write | ||
if: github.event_name == 'release' && github.event.action == 'published' | ||
# or, alternatively, upload to PyPI on every tag starting with 'v' (remove on: release above to use this) | ||
# if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') | ||
steps: | ||
- uses: actions/download-artifact@v3 | ||
with: | ||
# unpacks default artifact into dist/ | ||
# if `name: artifact` is omitted, the action will create extra parent dir | ||
name: artifact | ||
path: dist | ||
|
||
- uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
user: __token__ | ||
password: ${{ secrets.PYPI_TOKEN }} | ||
# To test: repository-url: https://test.pypi.org/legacy/ |
Oops, something went wrong.