-
-
Notifications
You must be signed in to change notification settings - Fork 10.4k
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
Node v0.12 & io.js support. #4955
Conversation
@@ -46,7 +46,8 @@ GhostServer.prototype.closeConnections = function () { | |||
|
|||
GhostServer.prototype.logStartMessages = function () { | |||
// Tell users if their node version is not supported, and exit | |||
if (!semver.satisfies(process.versions.node, packageInfo.engines.node)) { | |||
if (!semver.satisfies(process.versions.node, packageInfo.engines.node) && | |||
!semver.satisfies(process.versions.node, packageInfo.engines.iojs)) { |
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
Just so I'm fully understanding, what's the WIP part of this PR? Are we waiting for node-sass? Also - I know it's just the way it's gotta be - but sheeeeesh is that a big build matrix! |
WIP is regarding the comment I added. The line checks for the iojs version as defined in package.json. However if node at some point reaches v1.2.0 this will also match (as I don't see a way to distinguish between the two). What this PR adds is a v0.12 and iojs-v1.2.0 build (only iojs-v1.2.0 can be tested as node-sass only provides prebuilt binaries for this version).
|
I'm starting to get really sick of SASS getting in the way of you guys - it's becoming more of a hinderance than a help to everyone, given how little ongoing SASS work there actually is. @PaulAdamDavis ... dare I say it - but maybe we should consider using something else entirely? |
I believe the problems with node-sass have been rectified on their end, right? Or are their new problems? My build stack for my company got fixed a few weeks ago (node-sass and grunt-contrib-sass I believe we the breaking factor) |
Can we assume that this problem will be fixed by someone else before that happens? i.e. there'll be a standard way to do it?
So the issue is, if people trying to build Ghost try to use a version of iojs we don't support, they're going to have pain? If so, we can make sure we include compatibility notices in the readme etc & other than that it's up to developers to get it right? Ideally, I'd like to get this in before the next release, and I'd like that next release to be some time next week ;) |
@framerate Yes and no. node-sass provides prebuilt binaries for v0.10 and v0.12 and iojs-v.1.2.0 - however not for other minor iojs versions. This means that users would have to build the package themselves which requires a few other dependencies and doesn't seem to be an easy task.
Hopefully this will be resolved by npm - there are similar discussions going on over at io.js and express on how to handle engine compatibility.
Correct. As mentioned above, for iojs versions where node-sass doesn't provide prebuilt binaries, people installing Ghost development dependencies will have to compile node-sass themselves -> Pain. Another problem is that we can't run tests on travis for iojs versions where node-sass binaries aren't available, because node-sass doesn't build there (at least not without some work to install the build dependencies there first). It may very well be possible that Ghost breaks in some future iojs version but we won't notice it unless we run the test suite locally (and go through the hassle of building node-sass). |
Then I think we need to un-WIP this and merge it? Ghost is pre-built for the majority of people, if you really want to build it and use io.js then you're going to need to pay careful attention to compatibility notices. If we release Ghost with support and find that we get too many issues with people trying to build on the wrong io.js version, then we'll drop support again until we're able to more safely detect io.js and message users when they try to do the wrong thing. |
refs TryGhost#4955 - needed to build on ubuntu 14.14 with node 12 (DO image) - barely used anyway, as release task has it disabled
@halfdan just noticed, this PR doesn't have a travis build :/ |
fixes TryGhost#4811, refs TryGhost#4240 - Add v0.12 to the build - Fix express tests to work with iojs/0.12 - Add iojs-v1.2.0 to the build matrix
It is a shame 0.5.9 was released 9 days ago :( |
@martell Not to worry; Ghost believes in a rapid release workflow. I don't think you'll be waiting too long ;) |
fixes #4811, refs #4240
This adds io.js and node v0.12 to the build matrix and upgrades dependencies to support these versions. io.js can for now only be tested with v1.2.0 as pre-built binaries for node-sass aren't available for v1.0/v1.1/v1.3 (https://github.com/sass/node-sass-binaries/).