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

ci: Test all built wheels #91

Merged
merged 2 commits into from
May 2, 2023
Merged

Conversation

godlygeek
Copy link
Contributor

@godlygeek godlygeek commented Apr 28, 2023

Until now we were running all tests with the same python3 version, but testing different Python versions for each matrix run.

Instead, install PyStack for each Python version from the built wheel, and only run the tests for that version.

Then, add a different test step that tests running PyStack with the latest Python version, and attaching to cores or processes running under old Python versions for which we don't have wheels.

@godlygeek godlygeek self-assigned this Apr 28, 2023
@godlygeek godlygeek marked this pull request as draft April 28, 2023 22:35
@godlygeek godlygeek force-pushed the test_all_wheels branch 3 times, most recently from e3140de to f21d686 Compare April 28, 2023 23:37
@godlygeek
Copy link
Contributor Author

This is reviewable, but I'm leaving it as draft in order to rebase it on #92.

Until now we were running all tests with the same `python3` version, but
testing different Python versions for each matrix run.

Instead, install PyStack for each Python version from the built wheel,
and only run the tests for that version.

Then, add a different test step that tests running PyStack with the
latest Python version, and attaching to cores or processes running under
old Python versions for which we don't have wheels.

Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
Otherwise, `pip` may choose to download the last wheel we uploaded to
pypi.org, instead of using the local wheel in dist/.

This won't be sufficient if we ever have `install_requires`, but let's
cross that bridge when we come to it.

Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
@godlygeek godlygeek marked this pull request as ready for review April 29, 2023 00:21
@godlygeek
Copy link
Contributor Author

#92 has landed and I've rebased, so this can be reviewed.

@godlygeek
Copy link
Contributor Author

In order to land this, we'll need to remove "test_wheels (3.6)" from the required checks list, and add "test_attaching_to_old_interpreters (3.6)"

@sarahmonod
Copy link
Contributor

sarahmonod commented May 1, 2023

Then, add a different test step that tests running PyStack with the latest Python version, and attaching to cores or processes running under old Python versions for which we don't have wheels.

Does this means that we don't want to test attaching to processes running under an older Python version for which we DO have wheels?

In other words, should we add 3.7 until 3.10 to this line?

@godlygeek
Copy link
Contributor Author

Does this means that we don't want to test attaching to processes running under an older Python version for which we DO have wheels?

In other words, should we add 3.7 until 3.10 to this line?

I went with "no" just to keep CI time down. We could, but it probably doesn't give us any interesting data beyond what we're getting from the other tests we're running. There's nothing particularly special about attaching to a different version of the interpreter than PyStack is running with; we can assume that the exact same code gets exercised regardless of whether you attach to a 3.7 process using a PyStack running under 3.7, or you attach to a 3.7 process using a PyStack running under 3.11.

The two things we most need to confirm are:

  • We can successfully attach to every version we can run (2.7 and 3.6 through 3.11)
  • We can run PyStack itself using every interpreter it supports (3.7 through 3.11)

Copy link
Contributor

@sarahmonod sarahmonod left a comment

Choose a reason for hiding this comment

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

LGTM

@pablogsal pablogsal enabled auto-merge (rebase) May 2, 2023 14:06
@pablogsal
Copy link
Member

I'm marking test_wheels 3.6 as not required so we can land this

@pablogsal pablogsal merged commit a318a44 into bloomberg:main May 2, 2023
23 checks passed
@sarahmonod
Copy link
Contributor

I'm marking test_wheels 3.6 as not required so we can land this

I've also added test_attaching_to_old_interpreters (3.6) as a required check, not sure whether we want to have the 2.7 variant also required.

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.

None yet

3 participants