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 Python 3.10 on MacOS and Windows too #43772

Merged
merged 16 commits into from
Oct 6, 2021

Conversation

lithomas1
Copy link
Member

@lithomas1 lithomas1 commented Sep 27, 2021

  • closes #xxxx
  • tests added / passed
  • Ensure all linting tests pass, see here for how to run them
  • whatsnew entry

Blocker for MacOS/Windows Python 3.10 wheels. We probably want to migrate these onto Azure as soon as Python 3.10 is available there for load balancing reasons.

Sorry, something went wrong.

@jreback jreback added CI Continuous Integration OS X Related to Mac OS & hardware issues (M1) Windows Windows OS labels Sep 27, 2021
@lithomas1
Copy link
Member Author

lithomas1 commented Sep 28, 2021

New Windows failures :(

pandas/tests/frame/test_reductions.py::TestDataFrameReductions::test_min_max_dt64_with_NaT_skipna_false[tzlocal()]
  C:\hostedtoolcache\windows\Python\3.10.0-rc.2\x64\lib\site-packages\_pytest\unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: 'pandas._libs.tslibs.conversion._localize_tso'
  
  Traceback (most recent call last):
    File "pandas\_libs\tslibs\tzconversion.pyx", line 383, in pandas._libs.tslibs.tzconversion.tz_convert_utc_to_tzlocal
      return _tz_convert_tzlocal_utc(utc_val, tz, to_utc=False, fold=fold)
    File "pandas\_libs\tslibs\tzconversion.pyx", line 594, in pandas._libs.tslibs.tzconversion._tz_convert_tzlocal_utc
      delta = _tzlocal_get_offset_components(val, tz, to_utc, fold)
    File "pandas\_libs\tslibs\tzconversion.pyx", line 554, in pandas._libs.tslibs.tzconversion._tzlocal_get_offset_components
      dt = dt.astimezone(tz)
    File "C:\hostedtoolcache\windows\Python\3.10.0-rc.2\x64\lib\site-packages\dateutil\tz\_common.py", line 144, in fromutc
      return f(self, dt)
    File "C:\hostedtoolcache\windows\Python\3.10.0-rc.2\x64\lib\site-packages\dateutil\tz\_common.py", line 261, in fromutc
      _fold = self._fold_status(dt, dt_wall)
    File "C:\hostedtoolcache\windows\Python\3.10.0-rc.2\x64\lib\site-packages\dateutil\tz\_common.py", line 196, in _fold_status
      if self.is_ambiguous(dt_wall):
    File "C:\hostedtoolcache\windows\Python\3.10.0-rc.2\x64\lib\site-packages\dateutil\tz\tz.py", line 254, in is_ambiguous
      naive_dst = self._naive_is_dst(dt)
    File "C:\hostedtoolcache\windows\Python\3.10.0-rc.2\x64\lib\site-packages\dateutil\tz\tz.py", line 260, in _naive_is_dst
      return time.localtime(timestamp + time.timezone).tm_isdst
  OSError: [Errno 22] Invalid argument
  
    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))

No details because it raised in Cython code. I'll try to fix it.

EDIT: Apparantly this test is xfailed on Windows, but for some reason the xfail doesn't trigger on Python 3.10 b/c the exception isn't getting raised properly. I guess I'll just skip the test.

@lithomas1
Copy link
Member Author

@github-actions pre-commit

@lithomas1 lithomas1 marked this pull request as ready for review September 28, 2021 23:52
@lithomas1 lithomas1 requested a review from jreback September 29, 2021 23:14
pip install git+https://github.com/nedbat/coveragepy.git
pip install cython python-dateutil pytz hypothesis pytest-xdist pytest-cov
pip install cython python-dateutil pytz hypothesis pytest>=6.2.5 pytest-xdist pytest-cov
Copy link
Contributor

Choose a reason for hiding this comment

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

is this in our requirements-dev?

Copy link
Member Author

Choose a reason for hiding this comment

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

Its 6.0 in requirements dev. 6.2.5 is the first version to support python 3.10

Copy link
Contributor

Choose a reason for hiding this comment

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

oh ok got it, can you update whatsnew with this as well

@simonjayhawkins
Copy link
Member

EDIT: Apparantly this test is xfailed on Windows, but for some reason the xfail doesn't trigger on Python 3.10 b/c the exception isn't getting raised properly. I guess I'll just skip the test.

more complex, but could maybe retain the xfail for Python 3.8 and 3.9 and skip for py3.10 with a comment back to this issue.

@simonjayhawkins
Copy link
Member

This is okay to backport?

@simonjayhawkins simonjayhawkins added this to the 1.3.4 milestone Oct 6, 2021
@jreback
Copy link
Contributor

jreback commented Oct 6, 2021

yeah i think ok to backport

@jreback jreback merged commit 679e058 into pandas-dev:master Oct 6, 2021
@jreback
Copy link
Contributor

jreback commented Oct 6, 2021

thanks @lithomas1

@jreback
Copy link
Contributor

jreback commented Oct 6, 2021

@meeseeksdev backport 1.3.x

@lumberbot-app
Copy link

lumberbot-app bot commented Oct 6, 2021

Owee, I'm MrMeeseeks, Look at me.

There seem to be a conflict, please backport manually. Here are approximate instructions:

  1. Checkout backport branch and update it.
$ git checkout 1.3.x
$ git pull
  1. Cherry pick the first parent branch of the this PR on top of the older branch:
$ git cherry-pick -m1 679e0587bdcf435d1ba66801847a580d0afaecc8
  1. You will likely have some merge/cherry-pick conflict here, fix them and commit:
$ git commit -am 'Backport PR #43772: CI: Test Python 3.10 on MacOS and Windows too'
  1. Push to a named branch :
git push YOURFORK 1.3.x:auto-backport-of-pr-43772-on-1.3.x
  1. Create a PR against branch 1.3.x, I would have named this PR:

"Backport PR #43772 on branch 1.3.x (CI: Test Python 3.10 on MacOS and Windows too)"

And apply the correct labels and milestones.

Congratulation you did some good work! Hopefully your backport PR will be tested by the continuous integration and merged soon!

Remember to remove Still Needs Manual Backport label once the PR gets merged.

If these instruction are inaccurate, feel free to suggest an improvement.

@lumberbot-app
Copy link

lumberbot-app bot commented Oct 6, 2021

Owee, I'm MrMeeseeks, Look at me.

There seem to be a conflict, please backport manually. Here are approximate instructions:

  1. Checkout backport branch and update it.
$ git checkout 1.3.x
$ git pull
  1. Cherry pick the first parent branch of the this PR on top of the older branch:
$ git cherry-pick -m1 679e0587bdcf435d1ba66801847a580d0afaecc8
  1. You will likely have some merge/cherry-pick conflict here, fix them and commit:
$ git commit -am 'Backport PR #43772: CI: Test Python 3.10 on MacOS and Windows too'
  1. Push to a named branch :
git push YOURFORK 1.3.x:auto-backport-of-pr-43772-on-1.3.x
  1. Create a PR against branch 1.3.x, I would have named this PR:

"Backport PR #43772 on branch 1.3.x (CI: Test Python 3.10 on MacOS and Windows too)"

And apply the correct labels and milestones.

Congratulation you did some good work! Hopefully your backport PR will be tested by the continuous integration and merged soon!

Remember to remove Still Needs Manual Backport label once the PR gets merged.

If these instruction are inaccurate, feel free to suggest an improvement.

@jreback
Copy link
Contributor

jreback commented Oct 6, 2021

cc @lithomas1 if you'd do the manual backport when you have a chance

@lithomas1 lithomas1 deleted the python310-more-os branch October 8, 2021 23:21
lithomas1 added a commit to lithomas1/pandas that referenced this pull request Oct 8, 2021
gasparitiago pushed a commit to gasparitiago/pandas that referenced this pull request Oct 9, 2021
rhshadrach pushed a commit to rhshadrach/pandas that referenced this pull request Oct 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration OS X Related to Mac OS & hardware issues (M1) Windows Windows OS
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants