Skip to content

[android] Disable SwiftPM in CI build. #28063

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

Merged
merged 1 commit into from
Nov 5, 2019

Conversation

drodriguez
Copy link
Contributor

@drodriguez drodriguez commented Nov 4, 2019

The Android CI build only builds the stdlib because the rest of the
components are build for the host, which is not very useful, since they
are already tested in other CI configurations.

The problem was introduced in #28035 and started showing in https://ci-external.swift.org/job/oss-swift-RA-linux-ubuntu-16.04-android/4328/ and https://ci-external.swift.org/job/oss-swift-RA-linux-ubuntu-16.04-android-arm64/2599/

@aciidb0mb3r, @ahoppen: In my opinion, removing the three skip-build-swiftpm in build-presets.ini in the original PR should be reviewed. The removed switch haven't disappered from the build_script(.py) script, and it is still honored. [edit: not true, it didn't fail in my system, but it is not longer supported] I only removed the Android one, because it is the one that actually breaks things.

@drodriguez
Copy link
Contributor Author

@swift-ci please smoke test

@ahoppen
Copy link
Member

ahoppen commented Nov 4, 2019

Since SwiftPM has moved to swift_build_support, the --skip-build-swiftpm flag no longer exists. The idea behind swift_build_support is that you simply omit the --swiftpm flag if you don’t want to build SwiftPM.

Would it be possible to make the Android bot not inherit from mixin_linux_installation? That way you could also get rid of all the other --skip-build-* flags.

@ahoppen
Copy link
Member

ahoppen commented Nov 4, 2019

To get the same behavior as before, you could specify swiftpm=0 just as you do for sourcekit-lsp.

However, because the build already deviates so much from the standard linux build, I think we might want to consider starting a new preset path and not inheriting from linux_buildbot anymore or splitting the linux_buildbot template into a part that’s common with Android and a part that’s specific to building on Linux for a different platform.

CC: @shahmishal Do you have an opinion on this?

@drodriguez
Copy link
Contributor Author

The idea was using the mixin to be very close to other builds and inherit their configurations, so if changes happen there, changes will propagate to the Android builds. I never imagined that the switches will be removed.

I am trying to play with the ini file to see if some syntax supports removing that swiftpm in some cases.

The Android CI build only builds the stdlib because the rest of the
components are build for the host, which is not very useful, since they
are already tested in other CI configurations.
@drodriguez drodriguez force-pushed the android-disable-swiftpm branch from fc96b03 to 9498287 Compare November 4, 2019 23:03
@drodriguez
Copy link
Contributor Author

All right. I thought that because it was accepting the flag I was going to be OK, but the build failed later.

To allow the swiftpm=0 trick I need to change it from a store_true to a toggle_true, but it can be done.

@swift-ci please smoke test

@drodriguez
Copy link
Contributor Author

I think the failure in Linux should not be related to this changes.

@swift-ci please smoke test Linux platform

Copy link
Member

@ahoppen ahoppen left a comment

Choose a reason for hiding this comment

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

I’m fine with the PR as it stands now. However, I still believe, splitting the mixins up so we don’t need to disable everything again would be a good idea for a follow-up PR.

@drodriguez drodriguez merged commit 489c80a into swiftlang:master Nov 5, 2019
@drodriguez
Copy link
Contributor Author

I agree that maybe splitting the mixins are not a bad idea. I normally do not like touching this much this file, since a lot of infra depends on it. But I will look into how much will need duplicating at this moment. Maybe it is better at this point.

@drodriguez drodriguez deleted the android-disable-swiftpm branch November 5, 2019 03:11
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.

2 participants