Skip to content

Fix release pipeline #183

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

Merged
merged 39 commits into from
Jan 10, 2023
Merged

Fix release pipeline #183

merged 39 commits into from
Jan 10, 2023

Conversation

cerrussell
Copy link
Contributor

@cerrussell cerrussell commented Jan 7, 2023

#173

Motivation for these changes

To support release to PyPi.

Implementation details

-Configured to generate sdist and CPython based 32 and 64-bit wheels for windows-2022, macos12, and linux
-Command to check for versions of pytensor and scan_perform function included but configured to skip for cp37, musllinux, and 32-bit builds. I also included commented out code to instead not build these if that is desired.
-The version tag may need some work - test runs returned versions like 'pytensor-0+untagged.30079.g7788241', but I'm not clear if this is due to being on a fork and not having the full refs. I will address if needed.
-Release to PyPi section is disabled for now
-I did not integrate the test suite as it requires complex config of the runner, but can work on this if it is desired

Checklist

Major / Breaking Changes

  • ...

New features

  • Generating wheels for windows, mac, linux for PyPi

Bugfixes

  • ...

Documentation

Maintenance

  • ...

@michaelosthege michaelosthege changed the title Issue 173: Release pipeline Fix release pipeline Jan 8, 2023
@codecov-commenter
Copy link

codecov-commenter commented Jan 8, 2023

Codecov Report

Merging #183 (e04bae1) into main (f3a4f2b) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #183   +/-   ##
=======================================
  Coverage   80.03%   80.03%           
=======================================
  Files         170      170           
  Lines       45086    45086           
  Branches     9603     9603           
=======================================
  Hits        36085    36085           
  Misses       6789     6789           
  Partials     2212     2212           

Copy link
Contributor

@maresb maresb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks very promising. I have yet to use cibuildwheel myself, but this looks very good.

What's the status of the tests? Are we testing the build wheels for at least some of the platforms?

Copy link
Contributor

@maresb maresb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The upload_pypi.needs must be adjusted since build no longer exists. Perhaps [check_dist]?

@cerrussell
Copy link
Contributor Author

@maresb I have updated the upload_pypi action.

As for testing, I am still trying to get an idea of what that should look like. My understanding is that the only current ci testing is via the testing workflow, which tests against the supported python versions but is not platform specific. My initial configuration to run the tests had some issues related to the runner either missing dependencies or being unable to find them - for example, being unable to compile jaxlib. I realized execution would require more in-depth review of the requirements for the testing environment.

To be honest, I haven't dealt much with complex testing environments or requirements before, and I'm even a bit rusty on the linux command line. However, I welcome the opportunity to dive into this as I really do need to beef up my skillset in regards to testing in general. I'm exploring the testing workflow and working to adapt its steps to this pipeline. Just need to play around with it a bit so we can avoid redundancies that will introduce complexity unecessarily - like creating an additional virtual testing environment inside the virtual testing environment already generated by cibuildwheel.

@maresb
Copy link
Contributor

maresb commented Jan 10, 2023

My initial configuration to run the tests had some issues related to the runner either missing dependencies or being unable to find them - for example, being unable to compile jaxlib. I realized execution would require more in-depth review of the requirements for the testing environment.

I'm not finding any runner logs regarding this. Do you have a link? The only failed run I see is from the recent Updated upload_pypi action commit.

@michaelosthege
Copy link
Member

My initial configuration to run the tests had some issues related to the runner either missing dependencies or being unable to find them - for example, being unable to compile jaxlib. I realized execution would require more in-depth review of the requirements for the testing environment.

I'm not finding any runner logs regarding this. Do you have a link? The only failed run I see is from the recent Updated upload_pypi action commit.

https://github.com/cerrussell/pytensor/actions/runs/3850560155/jobs/6560833376

Regardless, I think running the test suite on every Wheel build is a bit too much. It's slow, and we'd just be testing if cibuildwheel did its job correctly.

IMO we can (squash) merge this and give another release a try

@michaelosthege michaelosthege merged commit 4da56ec into pymc-devs:main Jan 10, 2023
@michaelosthege
Copy link
Member

Thanks a lot @cerrussell for helping us out! It's safe to say that we didn't have the expertise to do this without you!

@cerrussell
Copy link
Contributor Author

@michaelosthege Happy to help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants