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

Emulated python aarch64 tests #8392

Merged

Conversation

jtattermusch
Copy link
Contributor

Similar to #8391 (which adds C++ emulated tests), but requires a bit more trickery since we need aarch64 python to run the python tests.

Based on #8280.

  • I can now run the python tests manually and they are passing (just run kokoro/linux/aarch64/test_python_aarch64.sh
  • The whole build and test only takes a few minutes.
  • Kokoro CI intergration is coming in a followup PR.

Based on the tests in this PR, I'm pretty confident that the wheels being added in #8280 actually work fine (the crosscompiled python extension passed all the unittests, the wheel does pass auditwheel check and it's also installable and a smokecheck works).

@jtattermusch
Copy link
Contributor Author

CC @janaknat

Copy link
Contributor

@dlj-NaN dlj-NaN left a comment

Choose a reason for hiding this comment

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

(Just a question, let me know your answer...)

# Running protoc under an emulator is fast as protoc doesn't
# really do much.

# create a simple shell wrapper that runs crosscompiled protoc under qemu
Copy link
Contributor

Choose a reason for hiding this comment

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

Can this just be committed, instead of generating it on the fly?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Definitely. We could create protoc_qemu_wrapper_aarch64.sh file (or similar name) in the repo.
It would make the script simpler. I felt like committing helpers like this into the repo might be considered "dirty", but yeah, on the other hand it makes the CI scripts simpler.
Leaving up to you which version you're the most happy with.

Copy link
Contributor

Choose a reason for hiding this comment

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

This way is fine with me. (This is such a weird corner case, anyhow...)

# Running protoc under an emulator is fast as protoc doesn't
# really do much.

# create a simple shell wrapper that runs crosscompiled protoc under qemu
Copy link
Contributor

Choose a reason for hiding this comment

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

This way is fine with me. (This is such a weird corner case, anyhow...)

@jtattermusch
Copy link
Contributor Author

Rebased (now that #8280 has been merged).

@jtattermusch
Copy link
Contributor Author

Should be ready to merge now.

@dlj-NaN dlj-NaN merged commit 053966b into protocolbuffers:master Apr 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants