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

Revert "build: update minimum Xcode version for macOS" #30043

Closed
wants to merge 1 commit into from

Conversation

rvagg
Copy link
Member

@rvagg rvagg commented Oct 20, 2019

Ref: #29622
Ref: #29493

Node.js build infrastructure is not prepared to release 13.x on anything but Xcode 8 on macOS 10.11.

We have limited macOS resources in MacStadium that we have to share for all test and build across our different release lines and so far have avoided the complexity of managing multiple versions of Xcode on a single build server.

IBM have stepped up, yet again, to fill the gap here (you really should thank IBM for carrying so much of the infra work, and they're not even responsible for triggering changes to our compiler minimums). See nodejs/build#1967, but if 13.0.0 is going out in a couple of days this is going to get done safely on our release infrastructure and we should probably proceed with status quo.

We could probably bump this in the middle of 13.x and get away with it when we have the release infra safely ready. It would be unprecedented to do this, but our -mmacosx-version-min=10.10 and the macOS compiler toolchain in general gives us some pretty good stability guarantees.

@nodejs/build @nodejs/tsc @nodejs/releasers

This reverts commit 9f830f3.

Ref: nodejs#29622
Ref: nodejs#29493

Node.js build infrastructure is not prepared to release 13.x on anything
but Xcode 8 on macOS 10.11.
@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. labels Oct 20, 2019
@mhdawson
Copy link
Member

@rvagg I thought the agreement in #29493 (comment) and #29493 (comment) was to bump the minimum level and then only later actually update the builds to use that minimum level (post 13.x release as we know we would not have resources to update the osx level before then)?

@rvagg
Copy link
Member Author

rvagg commented Oct 21, 2019

@mhdawson I'm fine with having 10 as a stated minimum for building node yourself while we still use 8, we've been doing that with GCC and clang (although that's now coming to an end). The problem here is that our own release builder is on 8. We've always been careful to make sure our release builders are able to be locked in for the duration of a release line and are up to the minimums we have in BUILDING.md, even if we've been lax with test builders. If we could have rushed a release builder out with 10 then this would be a simpler discussion but it turned out to be too hard. Perhaps we didn't chase down this rabbit hole far enough in the original discussion.

I honestly don't know what the solution here is, but right now BUILDING.md wrongly states that we build with 10 but we don't. We'll either continue building with 8 for the life of 13, potentially making it difficult or impossible for V8 upgrades, or we'll switch release compilers in the middle of 13, potentially creating user incompatibility problems. Which dice do we want to roll?

@rvagg rvagg closed this Oct 21, 2019
@mhdawson
Copy link
Member

@rvagg I agree its a hard choice and not clear which is best, but I thought we had come done on the side of upping the minimum with the goal of updating the build chain during the 13.x lifetime (hopefully near the start) although maybe I'd assume there was a more complete discussion/agreement on that than I tought.

@rvagg
Copy link
Member Author

rvagg commented Oct 21, 2019

Ooops, I didn't actually mean to close this. But reviewing #29493 again, maybe there is a shared agreement among many of the participants there that upgrading macos compiler in the middle of 13 was an acceptable risk.
I'm still bothered that BUILDING.md is lying about our release builds but I'll not hold up 13.0.0 if this doesn't bother anyone else and everyone tuned in to this is willing to accept the risk.

@rvagg
Copy link
Member Author

rvagg commented Oct 21, 2019

@mhdawson sadly I think this is just evidence of our stretched resources and how so few of us have to be across so many disparate issues. Calling on nodejs/build doesn't get as many parties involved in a discussion as it used to and it falls on fewer of us to shoulder complex decisions.

@mhdawson
Copy link
Member

@rvagg I think we should probably improve BUILDDING.md to clarify our stated minimum requirement versus what we do. Those 2 should probably be called out separately but would plan to do that post 13.x

@rvagg
Copy link
Member Author

rvagg commented Oct 23, 2019

I like the note about this that went out in the 13.0.0 release notes, I'll drop this.

@rvagg rvagg deleted the rvagg/macos-building branch October 23, 2019 00:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants