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

Build and upload to pypa #203

Open
wants to merge 43 commits into
base: master
Choose a base branch
from
Open

Conversation

vetlewi
Copy link
Collaborator

@vetlewi vetlewi commented Jan 17, 2023

This PR introduces the following:

  • A Github workflow that will build and test on both linux and macOS. New releases will be built and uploaded to pypa.
  • Fixed a minor bug in SpinFunctions.gDisc_and_EB05().
  • Moved the ompy.stats code to the ompy folder.
  • Refactored the example data functions such that one can load example data regardless of how ompy is installed.
  • Updates to setup and building procedures.

This PR closes issues #120, #190 and #188

In the latest linux versions there seems to be an error where the array with size 1x1 is not converted into a float. We now explicitly convert to a float. The tests now passes.
Added a new workflow to publish to pypi. For now this will push to the test repository until we are ready to create official releases.
I've merged the stats.cpp and erfinv.hpp as the code could easily live in the same file.
I've modified the setup files in preparation for distribution on pypi.
pypi requires a 'manylinux' build. Hopefully this will build that.
Too bad you can't debug locally...
More changes in order to facilitate simple integration of cibuildwheel for building all the wheels
I've moved the configuration parameters for cibuildwheel to the pyproject file.
I've changed the structure of the example code to make sure that it gets copied when building the wheel
vetlewi and others added 12 commits January 17, 2023 14:09
* Debugging git workflow to replace travis

* Updates to workflow

* Debugging...

* Fixed a small bug

In the latest linux versions there seems to be an error where the array with size 1x1 is not converted into a float. We now explicitly convert to a float. The tests now passes.

* Added a macOS test as well

* Debugging

* Slight error...

* Updated workflow

* Publish workflow

Added a new workflow to publish to pypi. For now this will push to the test repository until we are ready to create official releases.

* Merging stats.cpp and erfinv.hpp

I've merged the stats.cpp and erfinv.hpp as the code could easily live in the same file.

* Modified setup file

I've modified the setup files in preparation for distribution on pypi.

* Fixing a syntax error

* Update to use a different image

pypi requires a 'manylinux' build. Hopefully this will build that.

* More adjustments to the workflow...

* More fixes...

Too bad you can't debug locally...

* Okei, this should be it!

* Additional changes

More changes in order to facilitate simple integration of cibuildwheel for building all the wheels

* A little more debugging...

* Testing the cibuildwheel solution

* Working on determining where stuff ends up...

* Update main.yml

* Added test step

* Missing &&

* Moved configuration to pyproject

I've moved the configuration parameters for cibuildwheel to the pyproject file.

* Modification to the example code

I've changed the structure of the example code to make sure that it gets copied when building the wheel

* Build and test both macOS and linux

* Updates to the build settings

* Added missing environmental variable FC

Debugging macOS build

* Added the example matrix files

* No install because of issues while installing

* Removed some compiler flags that does not work on apple silicon

* Test deployment too

* Testing with ubuntu only...

* Removed the upload job. Will add once I know that the test release works

* Added python tag

* Stupid errors...

* Added missing upload
This should be the final update to ensure that the workflow works as intended. There is still the need to change the pypi_password once it merges into the official repo.
I've also updated the release notes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant