-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
[llvm] [mac] Update OS X build bots with prebuilt LLVM 10 #1429
[llvm] [mac] Update OS X build bots with prebuilt LLVM 10 #1429
Conversation
.travis.yml
Outdated
osx_image: xcode10.3 | ||
env: | ||
- MATRIX_EVAL="CC=clang && CXX=clang++ && PYTHON_VERSION=3.8.1 && PYTHON=python" | ||
- LLVM_EVAL="LLVM_REMOTE_PATH=https://github.com/taichi-dev/taichi_assets/releases/download/llvm10/taichi-llvm-10.0.0-macos.zip && LLVM_FILE=taichi-llvm-10.0.0-macos.zip" |
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.
IMHO we should use three LLVM 10 and one LLVM 8, since the latter is to be deprecated very soon.
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.
Reasonable. Let's hear what @yuanming-hu thinks about this.
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.
Thanks for the PR!
In release mode, all four builds will be compiled, and they will try to upload to PyPI. In Python 3.8, there're both LLVM 8 and LLVM 10 builds - whichever finishes early will be uploaded to PyPI. This creates a little randomness that we don't really want :-)
For simplicity, let's build with LLVM 10 only in this PR, with python3.6-3.8. There will be three builds only. This means LLVM 8 is no longer officially maintained since no buildbot is using that anymore. We still keep the #if LLVM_VERSION < 10
macros in the code so LLVM 8 will not be immediately broken, but if in the future if necessary we can simply drop LLVM 8 support. If someone complains, we can simply ask him to use LLVM 10 instead.
We have to cut LLVM 8 support sooner or later, and I think now is a good time. The developer installation doc should also be updated to remove LLVM 8.
This comment has been minimized.
This comment has been minimized.
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.
Cool!
A somewhat related topic: i guess this would further slow down Travis CI.. It might be great if we could run a subset of builds in the presubmit (e.g. 1 LLVM10 + 1 LLVM8.0.1 build for every PR push, then once the PR gets merged, we run the full build matrix..)
Since LLVM 8.0 builds can be removed once we decide to obsolete LLVM 8.0, it would not worsen CI runtime in the long turn. |
Yeah, but we still have py3.6-3.8 in presubmits, which takes 30-40minutes to run. IMHO the presubmit tests are usually lighter (of course this is unrelated to this PR..) |
Yeah...That's actually quite painful and would become even worse if we'd support 3.9 in the future. Picking one specific version of python to run presubmit does not seem that reasonable, though, since we'd better find out all the incompatibilities before they start to hit the master... |
According to @yuanming-hu's comment, creating mixed builds of LLVM 8.0/10.0 causes uncertainty when uploading release to PyPI. So starting from this PR, macOS buildbot has dropped support for LLVM 8.0.1. |
Related issue = #655
[Click here for the format server]