-
-
Notifications
You must be signed in to change notification settings - Fork 18.5k
CI: Migrate to circleci 2.0 #21814
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: Migrate to circleci 2.0 #21814
Conversation
this is more readable! hahah |
Slightly! I haven't tried de-duplicating things between the jobs yet, but will once things are passing (hopefully this commit). |
Codecov Report
@@ Coverage Diff @@
## master #21814 +/- ##
=======================================
Coverage 92.05% 92.05%
=======================================
Files 169 169
Lines 50709 50709
=======================================
Hits 46679 46679
Misses 4030 4030
Continue to review full report at Codecov.
|
Still need to figure out the database tests. |
Locale stuff will hopefully be working now. FYI, the slow cases where flipped in Line 37 in a439472
Working on the database now. |
@TomAugspurger what is the status here? |
Just down to locale failures, which #22213 hopefully fixed. Will merge master and try again. |
Actually, looking more closely I don't think those locale failures will be resolved by #22213... value = '三, 08 8月 2018 17:42:53 GMT'
def parse_timestamp(value):
"""Parse a timestamp into a datetime object.
Supported formats:
* iso8601
* rfc822
* epoch (value is an integer)
This will return a ``datetime.datetime`` object.
"""
if isinstance(value, (int, float)):
# Possibly an epoch time.
return datetime.datetime.fromtimestamp(value, tzlocal())
else:
try:
return datetime.datetime.fromtimestamp(float(value), tzlocal())
except (TypeError, ValueError):
pass
try:
# In certain cases, a timestamp marked with GMT can be parsed into a
# different time zone, so here we provide a context which will
# enforce that GMT == UTC.
return dateutil.parser.parse(value, tzinfos={'GMT': tzutc()})
except (TypeError, ValueError) as e:
> raise ValueError('Invalid timestamp "%s": %s' % (value, e))
E ValueError: Invalid timestamp "三, 08 8月 2018 17:42:53 GMT": ('Unknown string format:', '三, 08 8月 2018 17:42:53 GMT') I'll look more closely today. |
I can reproduce some of the locale failures locally with diff --git a/pandas/tests/io/parser/test_network.py b/pandas/tests/io/parser/test_network.py
index a7cc3ad98..2b728c03d 100644
--- a/pandas/tests/io/parser/test_network.py
+++ b/pandas/tests/io/parser/test_network.py
@@ -59,6 +59,9 @@ class TestS3(object):
def test_parse_public_s3_bucket(self, tips_df):
pytest.importorskip('s3fs')
+ import locale
+
+ locale.setlocale(locale.LC_ALL, "zh_CN.UTF-8")
# more of an integration test due to the not-public contents portion
# can probably mock this though.
for ext, comp in [('', None), ('.gz', 'gzip'), ('.bz2', 'bz2')] This is in Going to skip these if the |
In theory, just |
This is fun (Pdb) x
'İyun'
(Pdb) y
'İyun'
(Pdb) [(ord(a), ord(b)) for a, b in zip(x, y)]
[(73, 304), (775, 121), (121, 117), (117, 110)]
(Pdb) unicodedata.normalize("NFC", x) == x
False
(Pdb) unicodedata.normalize("NFC", y) == y
True Not sure why this wasn't failing earlier though. |
All green (finally). |
lgtm! thanks @TomAugspurger herculean effort! |
Opened #22396 with a couple followup items. Will do that in a couple days in case we notice anything else. |
Thanks a lot Tom! |
Backport of pandas-devgh-21814.
Backport of pandas-devgh-21814.
Backport of pandas-devgh-21814.
* CI: Bump NumPy to 1.9.3 Backport of gh-22499. * BLD: Fix openpyxl to 2.5.5 Backport of gh-22601. * CI: Resolve timeout issue on Travis Backported from gh-22429. * CI: Migrate to CircleCI 2.0 Backport of gh-21814. * Upgrade Cython to >=0.28.2 Backported from gh-21688. * TST: Patch locale handling Backported from gh-21739. Backport of gh-22213.
closes #19929