Skip to content

Instantly share code, notes, and snippets.

@christian-bromann
Created August 14, 2019 15:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save christian-bromann/1b6245c04b894b5b989accdc90eb250d to your computer and use it in GitHub Desktop.
Save christian-bromann/1b6245c04b894b5b989accdc90eb250d to your computer and use it in GitHub Desktop.
Post Mortem: SemVer version issues with WebdriverIO

Date: 08/14/2019 Authors: Christian Bromann christian@saucelabs.com Status: Complete

Summary

We released a new version where we dropped the Node support for v8.

Impact

Users that were using Yarn as package manager with Node v8 were not able to install WebdriverIO.

Root Causes

A while ago we updated Fibers to v4 in order to allow users using Node v12 and up to run WebdriverIO. Now we received more complains from people that they are not able to run WebdriverIO with Node v8. We received a PR with a patch to all sub packages package.json to bump minimal Node version to 10 so that these users are unblocked. I merged that PR and released v5.12.0. Now everyone using @wdio/sync and Node v10 could continue using WebdriverIO, however people still using Node v8 had now the same issue.

Resolution

@mgrybyk made a new PR to add support for Node v8 again and modified @wdio/sync in a way that it installs the correct fibers version based on the Node version installed on the system.

Detection

Users started to point this out on GitHub.

Lessons Learned

What went wrong?

We updated Fibers and without making a major version change. Whenever we do this next time we need to ensure to make a major version update.

What went well?

Our community notified us immeditially and together in the contributors channel we were able to find a solution that would resolve the situation. Thanks @mgrybyk for the fix and commitment!

Timeline

  • a user created an issue questioning our Node support
  • a PR was created that would drop Node v8 support for all WebdriverIO packages
  • v5.12.0 got released
  • the incident was detected by the community
  • after discussing possible solutions on Gitter @mgrybyk proposed a PR to enable support for Node v8 again
  • v5.12.1 got released with a partial fix for it

Supporting Information

As pointed out here this would still fail for people having npm config set ignore-scripts true set. We know this is not ideal but it will bring us out of the problem as we don't assum that many people have it set. We didn't want to make a major version change as this would affect all users having to update WebdriverIO to get all the next features and bug fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment