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

build: increase macOS minimum supported version #21883

Closed
wants to merge 1 commit into from

Conversation

targos
Copy link
Member

@targos targos commented Jul 19, 2018

Starting with V8 6.8, it will not be possible to build with macOS 10.10 and
below. Those versions are already EoL.

Refs: nodejs/build#1358

Checklist

Starting with V8 6.8, it will not be possible to build with macOS 10.10 and
below. Those versions are already EoL.
@targos targos added the build Issues and PRs related to build files or the CI. label Jul 19, 2018
@targos
Copy link
Member Author

targos commented Jul 19, 2018

/cc @nodejs/tsc @nodejs/build

Does this have to be semver-major? If the answer is yes, we won't be able to update V8 to 6.8 in Node 10.

@gibfahn
Copy link
Member

gibfahn commented Jul 19, 2018

Does this have to be semver-major? If the answer is yes, we won't be able to update V8 to 6.8 in Node 10.

Seems like a question that we are coming to consensus on in nodejs/build#1358.

@jasnell
Copy link
Member

jasnell commented Jul 19, 2018

I don't believe this needs to be semver-major if the older mac os versions are already EoL

Copy link
Contributor

@mmarchini mmarchini left a comment

Choose a reason for hiding this comment

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

LGTM and IMO we should update the minimum version of our compilers more frequently, otherwise we'll keep having problems when upgrading our dependencies.

Copy link
Member

@Trott Trott left a comment

Choose a reason for hiding this comment

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

@Trott
Copy link
Member

Trott commented Jul 19, 2018

For a separate PR, perhaps, but we may want to add a fourth support level that is the opposite of Experimental in that it's something that is heading towards EOL. Right now, we use Experimental for both things that are heading towards EOL and things that we're working on getting more fully supported. The text explaining Experimental implies that it's the latter. A separate label for the former might be useful.

Copy link
Contributor

@maclover7 maclover7 left a comment

Choose a reason for hiding this comment

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

Writing this down as a reminder for myself/other Build WG members (or anyone else who would like to contribute), that we'll have to update our build exclusion matrix whenever this lands

@ChALkeR
Copy link
Member

ChALkeR commented Jul 19, 2018

@Trott I don't think 10.10 was Experimental. Only >= 10.8 < 10.10 was experimental afaik, and this removes both >= 10.8 < 10.10 and 10.10.

I'm +1 to removing it though.

Copy link
Member

@ChALkeR ChALkeR left a comment

Choose a reason for hiding this comment

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

Note that relative 10.10 + 10.9 market share of OS X looks to be high (above 10% of all macs).

But, given that OS X 10.10 reached EoL, and that v8 6.8 is failing to build on it, I don't think that those users have a significant intersection with users that would need to build latest Node.js 10.x on their machines. We have 8.x LTS that should still work there.

Newer v8 for everyone is more important.

Also, this already falls under "The community does not build or test against end-of-life distributions (EoL)", so dropping support for that should not be a semver-major.

@ChALkeR
Copy link
Member

ChALkeR commented Jul 19, 2018

@targos @ofrobots One question, though: Chrome 68 and 69 claim to have support for OS X 10.10.
Is that correct, and, if yes, does that mean that we can avoid dropping the support for 10.10?

Ref: https://www.google.com/chrome/canary/?platform=mac

Copy link
Member

@mcollina mcollina left a comment

Choose a reason for hiding this comment

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

LGTM

@ofrobots
Copy link
Contributor

ping @hashseed regarding #21883 (comment).

@mmarchini
Copy link
Contributor

Chrome 68 and 69 claim to have support for OS X 10.10.
Is that correct, and, if yes, does that mean that we can avoid dropping the support for 10.10?

I think this is possible because Chrome and V8 are built using clang from depot_tools and not from Xcode.

@hashseed
Copy link
Member

Yeah I honestly don't know. V8 did not change anything in particular. We simply pull the clang that Chrome bundles from gclient. If that happens to support OSX 10.10, then I guess we do.

@targos
Copy link
Member Author

targos commented Jul 19, 2018

@ChALkeR see nodejs/build#1358 (comment). It won't be possible to build Node from OSX 10.10 but that doesn't mean the binary won't be compatible.

@targos
Copy link
Member Author

targos commented Jul 19, 2018

The problem is not with OSX, it's with Xcode. The version of Xcode that is in 10.10 has a bug that makes compilation fail. This bug is fixed in the more recent Xcode that is in 10.11.

@mmarchini
Copy link
Contributor

I think updating the OS X/Xcode version we use on our infrastructure won't make the builds incompatible with previous OS X versions, but I'm not 100% sure.

@targos
Copy link
Member Author

targos commented Jul 24, 2018

Landed in 9453240

@targos targos closed this Jul 24, 2018
targos added a commit to targos/node that referenced this pull request Jul 24, 2018
Starting with V8 6.8, it will not be possible to build with macOS 10.10
and below. Those versions are already EoL.

PR-URL: nodejs#21883
Refs: nodejs/build#1358
Reviewed-By: Matheus Marchini <matheus@sthima.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
@targos targos deleted the macos-1011 branch July 24, 2018 19:25
targos added a commit that referenced this pull request Jul 26, 2018
Starting with V8 6.8, it will not be possible to build with macOS 10.10
and below. Those versions are already EoL.

PR-URL: #21883
Refs: nodejs/build#1358
Reviewed-By: Matheus Marchini <matheus@sthima.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
@targos targos mentioned this pull request Jul 31, 2018
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.