Skip to content

Add arch64 wheel build support#1917

Merged
jd merged 4 commits intoDataDog:masterfrom
odidev:aarch64_builds
Jan 15, 2021
Merged

Add arch64 wheel build support#1917
jd merged 4 commits intoDataDog:masterfrom
odidev:aarch64_builds

Conversation

@odidev
Copy link
Contributor

@odidev odidev commented Dec 28, 2020

Add arch64 wheel build support in github action with qemu

@odidev odidev requested a review from a team as a code owner December 28, 2020 14:14
@brettlangdon
Copy link
Member

Nice!

@odidev it might be worth contributing upstream to cibuildwheel looks like they only have aarch64 support via TravisCI right now. Would be really awesome for them/others using cibuildwheel to have GitHub actions support for aarch64 as well.

What do you think?

@codecov-io
Copy link

codecov-io commented Dec 28, 2020

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.91%. Comparing base (8da3a2e) to head (eb93b4e).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1917      +/-   ##
==========================================
+ Coverage   90.88%   90.91%   +0.03%     
==========================================
  Files         552      552              
  Lines       38498    38498              
==========================================
+ Hits        34988    35001      +13     
+ Misses       3510     3497      -13     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@odidev
Copy link
Contributor Author

odidev commented Dec 28, 2020

@brettlangdon thanks for quick response. Please find my response inline-

Would be really awesome for them/others using cibuildwheel to have GitHub actions support for aarch64 as well.

The community is working on it. Please have a look at pypa/cibuildwheel#482. I am not sure about the release plan for cibuildwheel with this (#482) change. Till then, this PR will help building/uploading aarch64 wheels to pypi.

Copy link
Contributor

@jd jd left a comment

Choose a reason for hiding this comment

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

Looks like some profiling changes got mixed together

@brettlangdon
Copy link
Member

The community is working on it. Please have a look at pypa/cibuildwheel#482. I am not sure about the release plan for cibuildwheel with this (#482) change. Till then, this PR will help building/uploading aarch64 wheels to pypi.

Nice! It looks like this change was approved 11 hours ago. We probably wouldn't be able to fully test/use your PR until sometime next week (we don't have any releases planned this week anyways), so might be worth waiting to see if official support via cibuildwheel gets released this/next week.

Is it ok with you if we just leave this PR open for now, we can follow the cibuildwheel PR and then make a decision early next week on either using this PR as-is or updating to use the new cibuildwheel way?

@odidev odidev closed this Dec 28, 2020
@odidev odidev reopened this Dec 28, 2020
@odidev
Copy link
Contributor Author

odidev commented Dec 28, 2020

Is it ok with you if we just leave this PR open for now, we can follow the cibuildwheel PR and then make a decision early next week on either using this PR as-is or updating to use the new cibuildwheel way?

Sounds good to me. Thanks.

@odidev
Copy link
Contributor Author

odidev commented Dec 28, 2020

Looks like some profiling changes got mixed together

Fixed this issue. Thanks.

@Kyle-Verhoog Kyle-Verhoog added this to the 0.46.0 milestone Jan 11, 2021
@brettlangdon
Copy link
Member

This has been merged in upstream in cibuildwheel.

It hasn't been released to pypi, but it seems if we are able to install latest from git/master then we should be able to validate this.

https://cibuildwheel.readthedocs.io/en/latest/options/#archs

@majorgreys majorgreys added the changelog/no-changelog A changelog entry is not required for this PR. label Jan 14, 2021
Copy link
Contributor

@majorgreys majorgreys left a comment

Choose a reason for hiding this comment

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

Let's get merge this in and we can update once cibuildwheel does a release with the support.

@jd jd merged commit 6ede705 into DataDog:master Jan 15, 2021
Yun-Kim pushed a commit to Yun-Kim/dd-trace-py that referenced this pull request Jan 15, 2021
Co-authored-by: Tahir H. Butt <tahir.butt@datadoghq.com>
Co-authored-by: Julien Danjou <julien.danjou@datadoghq.com>
@odidev
Copy link
Contributor Author

odidev commented Jan 20, 2021

@jd, Thanks for merging the PR. Can you please let me know the plan for releasing aarch64 wheels?

@brettlangdon
Copy link
Member

hey @odidev, good question. We won't publish any aarch64 wheels for any existing releases, but they should be automatically included in every release going forward.

We have 0.46.0 which should be out before end of next week.

Yun-Kim added a commit that referenced this pull request Jan 21, 2021
* Added fastapi on index.rst

* Added initial implementation for fastapi along with adding fastapi onto default patched modules.

* feat(fastapi): refactored copy&pasted starlette code to be compatible with fastapi.

* Added release notes

* Removed redundant import

* Added reference to fastapi integration in docs/integrations.rst

* Added riot testing for fastapi integration.

* Black reformatting on test files

* Temporarily ignoring F401 for flake8

* Added "fastapi" into spelling words text file.

* Temporarily removed sqlalchemy integration testing, will complete in future PR

* Add arch64 wheel build support (#1917)

Co-authored-by: Tahir H. Butt <tahir.butt@datadoghq.com>
Co-authored-by: Julien Danjou <julien.danjou@datadoghq.com>

* Addressed PR comments.

* Added testing support for every 5th minor version in fastAPI starting with 0.50 (since Middleware introduced).
Added snapshot testing for fastapi.

* Added testing support for every 5th minor version in fastAPI starting with 0.50 (since Middleware introduced).
Added snapshot testing for fastapi.

* Fixed unpatch() bug, added service name override test.

* Fixed unpatch() bug, added service name override test.

Co-authored-by: odidev <odidev@puresoftware.com>
Co-authored-by: Tahir H. Butt <tahir.butt@datadoghq.com>
Co-authored-by: Julien Danjou <julien.danjou@datadoghq.com>
Co-authored-by: Kyle Verhoog <kyle@verhoog.ca>
Yun-Kim added a commit that referenced this pull request Feb 2, 2021
* Add arch64 wheel build support (#1917)

Co-authored-by: Tahir H. Butt <tahir.butt@datadoghq.com>
Co-authored-by: Julien Danjou <julien.danjou@datadoghq.com>

* Added status_msg as a param in set_http_meta, added it as a key in http.py

* Added test clause in test case for set_http_meta to include status_msg

* Changed status_msg assertion to include six module text_type

Co-authored-by: odidev <odidev@puresoftware.com>
Co-authored-by: Tahir H. Butt <tahir.butt@datadoghq.com>
Co-authored-by: Julien Danjou <julien.danjou@datadoghq.com>
Co-authored-by: Kyle Verhoog <kyle@verhoog.ca>
Yun-Kim added a commit to Kyle-Verhoog/dd-trace-py that referenced this pull request Feb 10, 2021
* Add arch64 wheel build support (DataDog#1917)

Co-authored-by: Tahir H. Butt <tahir.butt@datadoghq.com>
Co-authored-by: Julien Danjou <julien.danjou@datadoghq.com>

* Added status_msg as a param in set_http_meta, added it as a key in http.py

* Added test clause in test case for set_http_meta to include status_msg

* Changed status_msg assertion to include six module text_type

Co-authored-by: odidev <odidev@puresoftware.com>
Co-authored-by: Tahir H. Butt <tahir.butt@datadoghq.com>
Co-authored-by: Julien Danjou <julien.danjou@datadoghq.com>
Co-authored-by: Kyle Verhoog <kyle@verhoog.ca>
mergify bot pushed a commit that referenced this pull request Feb 19, 2021
… rate of 0 (#2029)

* Add arch64 wheel build support (#1917)

Co-authored-by: Tahir H. Butt <tahir.butt@datadoghq.com>
Co-authored-by: Julien Danjou <julien.danjou@datadoghq.com>

* Fixed sample_rate bug and added regression tests.

* Added try/catch ValueError handling to log errors updating sample_rate.

* Added actual sample_rate in error message.

* Added changelog entry.

Co-authored-by: odidev <odidev@puresoftware.com>
Co-authored-by: Tahir H. Butt <tahir.butt@datadoghq.com>
Co-authored-by: Julien Danjou <julien.danjou@datadoghq.com>
mergify bot added a commit that referenced this pull request Mar 16, 2021
* Add arch64 wheel build support (#1917)

Co-authored-by: Tahir H. Butt <tahir.butt@datadoghq.com>
Co-authored-by: Julien Danjou <julien.danjou@datadoghq.com>

* Added try/catch clause during user authentication check.

* Added test case mimicing ImproperlyConfigured error, edited logging msg.

* Wrapped _set_request_tags and subsequent traced_get_response implementation in try/catch, modified test case

* Reformatting flake8/black

* Modified test to check spans, removed specific exception handling.

* Removed unnecessary exception clause in test.

* Added small comment explaining the try/except block.

* Added specific try/catch block to both potential error sources

* Removed broader try/catch and instead specified to be inside _set_request_tags.

* Made exception handling generic

* Removed exception from debug message.

* Added link to django core where ImproperlyConfigured error propagates.

* Specified github link

* Flake8 correction

* Black reformatting

Co-authored-by: odidev <odidev@puresoftware.com>
Co-authored-by: Tahir H. Butt <tahir.butt@datadoghq.com>
Co-authored-by: Julien Danjou <julien.danjou@datadoghq.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Kyle-Verhoog pushed a commit that referenced this pull request Jun 17, 2021
* Add arch64 wheel build support (#1917)

Co-authored-by: Tahir H. Butt <tahir.butt@datadoghq.com>
Co-authored-by: Julien Danjou <julien.danjou@datadoghq.com>

* Tidy up Packer

* Extracted _pack_span

* Removed None checks in _pack_meta and _pack_metrics

* Added integration tests with agent and additional test case for encoder.

* Added encoding declaration

* Modified integration tests to skip if using test agent.

Co-authored-by: Tahir H. Butt <tahir.butt@datadoghq.com>
Co-authored-by: Julien Danjou <julien.danjou@datadoghq.com>
Co-authored-by: Gabriele N. Tornetta <P403n1x87@users.noreply.github.com>
Co-authored-by: Brett Langdon <brett.langdon@datadoghq.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/no-changelog A changelog entry is not required for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

Comments