WordPress.org

Make WordPress Core

Opened 3 years ago

Closed 3 years ago

#37116 closed defect (bug) (worksforme)

Fix travis builds for previous branches

Reported by: jorbin Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: Build/Test Tools Keywords:
Focuses: Cc:
PR Number:

Description

The 4.4 and 4.5 branches are currently failing to build on travis. this is 4.4 and this is 4.5. The error has something to do with npm install.

Attachments (2)

37116-all-the-traviss.diff (1.8 KB) - added by netweb 3 years ago.
37116-nodejs-4x-lts.diff (3.2 KB) - added by netweb 3 years ago.

Download all attachments as: .zip

Change History (12)

#1 @jorbin
3 years ago

In 37731:

Output node and npm versions on travis

In order to make local debugging of travis easier, output the npm and node versions when travis runs.

[37730] for 4.4

see #37116

#2 @jorbin
3 years ago

In 37733:

Output node and npm versions on travis.

In order to make local debugging of travis easier, output the npm and node versions when travis runs.

[37730] for 4.5.

see #37116.

#3 @netweb
3 years ago

@jorbin Weird, maybe try flushing the caches on both branches and restarting both builds:

#4 @ocean90
3 years ago

  • Summary changed from Fix travis builds for previus branches to Fix travis builds for previous branches

#5 @netweb
3 years ago

See also r37730 for /trunk

Output node and npm versions on travis

In order to make local debugging of travis easier, output the npm and node versions when travis runs

#6 @netweb
3 years ago

Patch 37116-all-the-traviss.diff moves the Npm and NodeJS version checks to before_install, we want to see what versions of NPM and NodeJS (And MySQL and PHP for /trunk) are running before we execute them.

Patch contains the patch for the 4.4, 4.5, and /trunk branches

Edit: This doesn't fix the issue per this ticket, just the start of debugging

Last edited 3 years ago by netweb (previous) (diff)

#7 @netweb
3 years ago

Related: #35105

#8 @netweb
3 years ago

Both the 4.4 and 4.5 branch builds on Travis CI error with:
(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.

This appears to be a conflict between the NodeJS modules dependancy tree, which as always is crazy insane.

Approximately a dozen NPM modules require NodeJS >= 0.12.x

For example:

  • The grunt-postcss update from 0.7.0 to 0.8.0 was reverted in r36980 because NodeJS 0.10.x support was dropped
  • grunt-postcss has an NPM dependancy of "postcss": "^5.0.0"
  • NodeJS 0.10.x support in postcss was dropped in version 5.0.6
  • This is semantic version bug in grunt-postcss and it should not have been released in this manner, though that horse has bolted now and very little can be done in that NPM module to rectify or reinstate NodeJS 0.10.x compatibility, I created an issue to document this for the maintainers so hopefully this can be avoided in the future.

Hence, our Travis CI builds require a minimum of NodeJS 0.12.x otherwise there be explosions!

Here's some test PR's and all 4 pass

@jorbin The resolution to resolve this ticket is to bump NodeJS to 0.12.x or 4.x, which is what ticket #35105 is all about.

My suggestion included in 37116-nodejs-4x-lts.diff is to bump to 4.x LTS for all the branches (4.4, 4.5, and /trunk). This would save us from having to redo it again in a couple of months for the 4.4/4.5 branches when LTS support ends for NodeJS 0.12.x.

In using NodeJS 4.x LTS support here for all the branches I can't forsee any issues on the Travis CI side of things.

On the https://core.svn.wordpress.org/ side of things having NodeJS 4.x LTS installed would be beneficial in that it is only one single instance of NodeJS required on the "build" server rather than having to maintain multiple versions using NVM.

Slack discussion on bumping NodeJS on the build server: wordpress.slack.com/archives/meta/p1457914147000023

#9 @netweb
3 years ago

A couple more notes:

  • Each patch contains NPM & NodeJS version check before and after installing the new NodeJS version, makes things a little easier to debug knowing before and after NPM & NodeJS versions
Last edited 3 years ago by netweb (previous) (diff)

#10 @ocean90
3 years ago

  • Milestone 4.6 deleted
  • Resolution set to worksforme
  • Status changed from new to closed

[37935] for 4.4 and [38000] for 4.5 passed on Travis. Closing as worksforme.

Note: See TracTickets for help on using tickets.