Skip to content

[Build] Skip early swift driver/syntax #63122

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

Closed
wants to merge 1 commit into from

Conversation

bnbarham
Copy link
Contributor

CI currently skips these because there is no host Swift anyway. Forcefully skip them to allow using the release docker images as the base image (with Clang and Swift pre-installed). CentOS 7 needs this as the packaged Clang (in software collections) is only Clang 5. It does technically support C++17 but has a bug causing a compiler error for most uses of variant (now used all throughout LLVM) - llvm/llvm-project#32569.

This is temporary as the bootstrap should work. It currently fails when linking libswiftDemangle.so, which tries to link with swiftCore, but fails to find it. Need to look into that, but this is an easy fix that doesn't regress anything for now.

CI currently skips these because there is no host Swift anyway.
Forcefully skip them to allow using the release docker images as the
base image (with Clang and Swift pre-installed). CentOS 7 needs this as
the packaged Clang (in software collections) is only Clang 5. It does
technically support C++17 but has a bug causing a compiler error for
most uses of `variant` (now used all throughout LLVM) -
llvm/llvm-project#32569.

This is temporary as the bootstrap should work. It currently fails when
linking `libswiftDemangle.so`, which tries to link with `swiftCore`, but
fails to find it. Need to look into that, but this is an easy fix that
doesn't regress anything for now.
@bnbarham
Copy link
Contributor Author

@swift-ci please test

Copy link
Member

@compnerd compnerd left a comment

Choose a reason for hiding this comment

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

I think that this is fine, but please get @shahmishal to sign off on this before merging.

Copy link
Contributor

@etcwilde etcwilde left a comment

Choose a reason for hiding this comment

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

LGTM. Just wanted to make sure that we actually want to make this change for all the Linux bots though. Would it be better to have a specific configuration for this since it’s a special case to work around the old toolchain?

@bnbarham
Copy link
Contributor Author

LGTM. Just wanted to make sure that we actually want to make this change for all the Linux bots though. Would it be better to have a specific configuration for this since it’s a special case to work around the old toolchain?

We're changing all the Linux images to use the release image instead, which we need to do for bootstrapping regardless. It's just that the main reason for doing this now is for CentOS 😅

But it being broken would be an issue on all of them, not just CentOS.

@bnbarham
Copy link
Contributor Author

@swift-ci please smoke test macOS platform

@bnbarham
Copy link
Contributor Author

Turns out we may not actually need this. It looks like there is in fact a llvm-toolset-7.0 package that includes Clang 7 (note the 7.0 as opposed to llvm-toolset-7). In that case it's probably better for us to fix the bootstrap before updating the packages to use the release image, which means we wouldn't need this patch at all.

@bnbarham bnbarham closed this Feb 16, 2023
@bnbarham bnbarham deleted the skip-early-on-linux branch February 16, 2023 17:18
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