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

[llvm] [mac] Update OS X build bots with prebuilt LLVM 10 #1429

Merged
merged 4 commits into from
Jul 8, 2020

Conversation

TH3CHARLie
Copy link
Collaborator

@TH3CHARLie TH3CHARLie changed the title [Misc] [Mac] Update OS X build bots with prebuilt LLVM 10 [Misc] [mac] Update OS X build bots with prebuilt LLVM 10 Jul 7, 2020
.travis.yml Outdated Show resolved Hide resolved
.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"
Copy link
Collaborator

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.

Copy link
Collaborator Author

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.

Copy link
Member

@yuanming-hu yuanming-hu Jul 7, 2020

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.

@archibate archibate changed the title [Misc] [mac] Update OS X build bots with prebuilt LLVM 10 [misc] [mac] Update OS X build bots with prebuilt LLVM 10 Jul 7, 2020
@archibate archibate changed the title [misc] [mac] Update OS X build bots with prebuilt LLVM 10 [llvm] [mac] Update OS X build bots with prebuilt LLVM 10 Jul 7, 2020
@codecov

This comment has been minimized.

.travis.yml Outdated Show resolved Hide resolved
.travis.yml Outdated Show resolved Hide resolved
Copy link
Member

@k-ye k-ye left a 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..)

@TH3CHARLie
Copy link
Collaborator Author

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.

@k-ye
Copy link
Member

k-ye commented Jul 7, 2020

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..)

@TH3CHARLie
Copy link
Collaborator Author

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...

@TH3CHARLie
Copy link
Collaborator Author

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.

@TH3CHARLie TH3CHARLie requested a review from archibate July 8, 2020 07:52
@TH3CHARLie TH3CHARLie merged commit 893cc25 into taichi-dev:master Jul 8, 2020
@FantasyVR FantasyVR mentioned this pull request Jul 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants