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
Add CI/CD for Aarch64 pip wheels using GitHub Actions #56025
Conversation
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). For more information, open the CLA check for this pull request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much
Can you sign CLA please? |
Also, I think this should be opened on master? |
I think the use of no_aarch64 tag to exclude tests that fail when TF_ENABLE_ONEDNN_OPT=1 is not the best thing to do. The flag is currently used to exclude tests that can never work on AARCH64. This would add a group of tests that we hope are only temporarily broken and so would have their no_aarch64 tag removed at some later point. It also stops those tests being run at all on AARCH64 even for the Eigen build, where they currently pass. I think some other mechanism would be better. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not the right way to temporarily exclude these tests. It hides the exclusion away in multiple places and also prevents these tests from being run for the default Eigen build where they are passing.
Hi @elfringham , I agree with your concern. We can introduce a new tag like |
Could they not simply be listed explicitly in TF_TEST_TARGETS with the other test exclusions? |
# Export optional variables for running pip.sh | ||
export TF_BUILD_FLAGS="--config=mkl_aarch64 ${extra_args}" | ||
export TF_TEST_FLAGS="--config=mkl_aarch64 ${extra_args} --test_env=TF_ENABLE_ONEDNN_OPTS=1 --test_env=TF2_BEHAVIOR=1 --define=no_tensorflow_py_deps=true --test_lang_filters=py --verbose_failures=true --test_keep_going" | ||
export TF_TEST_TARGETS="${DEFAULT_BAZEL_TARGETS} -//tensorflow/lite/... -//tensorflow/compiler/mlir/lite/tests:const-fold.mlir.test -//tensorflow/compiler/mlir/lite/tests:prepare-tf.mlir.test" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @nSircombe , this would be the place to put exclusions for tests that fail. Using tags is not the best solution as it hides that information in multiple places which makes it harder to check the status and make updates.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @nSircombe , this would be the place to put exclusions for tests that fail. Using tags is not the best solution as it hides that information in multiple places which makes it harder to check the status and make updates.
Thanks for the suggestion @nSircombe @elfringham . Addressed.
Hi @mihaimaruseac , I have signed the Google Individual CLA.
I have only tested this change on r2.9 branch as of now. I was thinking after the release, we can cherry-pick it into master. |
Yes please. We never cherrypick from release branch back into master. |
@mihaimaruseac I have opened another PR on master branch #56097 . Will close this PR and will cherry-pick into r2.9 later. |
Added GitHub workflow to build, test and publish Aarch64 pip wheels for Python versions 3.7, 3.8, 3.9 and 3.10
Workflow jobs run on a self-hosted runner on an AWS Graviton instance and triggers for:
r2.9
branchr2.9
branchv2.
Following tests currently fail and are skipped: