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

chore: run tests on linux, macos and windows and release builds on ta… #370

Merged
merged 1 commit into from
Jan 29, 2023

Conversation

AntoineRR
Copy link
Collaborator

Description

This PR fixes #310

This is a proposal for a new CI/CD pipeline:

  • On push and pull requests -> Run rust CI + Tests on Linux / Windows / Macos for python 3.7, 3.8, 3.9, 3.10, 3.11
  • On tag creation -> Build for all OS and Python versions and upload to pypi

It seems like the tests do not pass on windows for now, adding this CI could be a good first step to fix them.

@netlify
Copy link

netlify bot commented Jan 23, 2023

Deploy Preview for robyn canceled.

Name Link
🔨 Latest commit ec228cf
🔍 Latest deploy log https://app.netlify.com/sites/robyn/deploys/63d053cf0e4acb00080ed4ab

@@ -1,6 +1,6 @@
requests==2.26.0
pytest==6.2.5
maturin
uvloop
uvloop; platform_system!="Windows"
Copy link
Member

Choose a reason for hiding this comment

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

niceee.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I didn't know that was a thing until I worked on this PR 😄

@@ -2,7 +2,7 @@ pytest==6.2.5
maturin==0.12.11
watchdog
requests==2.26.0
uvloop==0.17.0
uvloop==0.17.0; platform_system!="Windows"
Copy link
Member

Choose a reason for hiding this comment

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

nicee..

@sansyrox
Copy link
Member

It seems like the tests do not pass on windows for now

I might have a hunch why this is happening. The sockets package is not super compatible with windows. Read the first line here(https://docs.python.org/3/library/socket.html)

Just one question , how is the proposal different from our current way? Don't we still build a package on every PR and push to main?

And release on tags?

@AntoineRR
Copy link
Collaborator Author

Ok thanks, that's a first step for investigating the comptibility with Windows.

There is a difference, as with this PR there are a lot less jobs running on push and PRs (see the pipeline of this PR for reference). Also, previously we built a release package on every push and PRs, but didn't do anything with it. The only time when the builds were used was when a tag was released that would trigger the "Release" job for an upload to Pypi.

In summary:

Previous pipeline:

  • Push / PR => Run Rust CI + Run tests on Linux with each Python version + Build a Release package for each OS and each Python version
  • Tag creation => All of the above + Publish all Release to Pypi

This pipeline:

  • Push / PR => Run Rust CI + Run tests on all OS with each Python version
  • Tag creation => All of the above + Build a Release package for each OS and each Python version + Publish all Release to Pypi

I didn't test the tag creation pipeline, but kept the same jobs as before so it should work fine

@sansyrox
Copy link
Member

@AntoineRR , in this PR , are we depending on the tests to pass to build the packages?

@AntoineRR
Copy link
Collaborator Author

@sansyrox no, the test and release workflow are independant of each other

Copy link
Member

@sansyrox sansyrox 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 good! Now we have more information about windows builds!

@sansyrox sansyrox merged commit ef65920 into sparckles:main Jan 29, 2023
sansyrox pushed a commit that referenced this pull request Jan 30, 2023
sansyrox pushed a commit that referenced this pull request Feb 1, 2023
sansyrox pushed a commit that referenced this pull request Feb 2, 2023
sansyrox added a commit that referenced this pull request Feb 2, 2023
sansyrox added a commit that referenced this pull request Feb 4, 2023
* chore: run tests on linux, macos and windows and release builds on tag creation only (#370)

* chore: address the suggestions
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.

[BUG] Fix CI/CD pipeline
2 participants