Skip to content

build: increase macOS minimum supported version - #21883

Closed
targos wants to merge 1 commit into
nodejs:masterfrom
targos:macos-1011
Closed

build: increase macOS minimum supported version#21883
targos wants to merge 1 commit into
nodejs:masterfrom
targos:macos-1011

Conversation

@targos

Copy link
Copy Markdown
Member

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.
@targostargos added the build Issues and PRs related to build files or the CI. label Jul 19, 2018
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@targos

Copy link
Copy Markdown
MemberAuthor

/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
Copy Markdown
Member

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
Copy Markdown
Member

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

@mmarchinimmarchini left a comment

Copy link
Copy Markdown
Contributor

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.

@TrottTrott left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@Trott

Copy link
Copy Markdown
Member

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.

@maclover7maclover7 left a comment

Copy link
Copy Markdown
Contributor

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

ChALkeR commented Jul 19, 2018

Copy link
Copy Markdown
Member

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

@ChALkeRChALkeR left a comment

Copy link
Copy Markdown
Member

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

ChALkeR commented Jul 19, 2018

Copy link
Copy Markdown
Member

@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

@mcollinamcollina left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@ofrobots

Copy link
Copy Markdown
Contributor

ping @hashseed regarding #21883 (comment).

@mmarchini

Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
MemberAuthor

@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
Copy Markdown
MemberAuthor

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
Copy Markdown
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
Copy Markdown
MemberAuthor

Landed in 9453240

@targostargos 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>
@targostargos mentioned this pull request Jul 31, 2018
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

buildIssues and PRs related to build files or the CI.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

14 participants

@targos@nodejs-github-bot@gibfahn@jasnell@Trott@ChALkeR@ofrobots@mmarchini@hashseed@mcollina@cjihrig@maclover7@devsnek@gdams