Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-63346

lts/carbon (node v8.12.0/npm 6.4.1) again modifying npm-shrinkwrap.json

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide

      A) Automated, just manually verify that:

      1. travis
      2. cibot
      3. phpunit and behat tests

      are all them passing for the target branches (31, 33, 34, 35 & master).

      B) Verify that the NodeJSVersion template in the Docs has been updated to point to this issue and both nodejs and npm versions match the work done here (see issue's title).

      C) Optionally (really all these should be covered by behat tests, and some exploratory testing has been already performed so, for your consideration), visit various pages having javascript modules and verify that things like autocompletion, inline-editable, templates, ajax, menu-bar... are all them working ok. And there aren't javascript console errors.

      Show
      A) Automated, just manually verify that: travis cibot phpunit and behat tests are all them passing for the target branches (31, 33, 34, 35 & master). B) Verify that the NodeJSVersion  template in the Docs has been updated to point to this issue and both nodejs and npm versions match the work done here (see issue's title). C) Optionally (really all these should be covered by behat tests, and some exploratory testing has been already performed so, for your consideration), visit various pages having javascript modules and verify that things like autocompletion, inline-editable, templates, ajax, menu-bar... are all them working ok. And there aren't javascript console errors.
    • Affected Branches:
      MOODLE_31_STABLE, MOODLE_33_STABLE, MOODLE_34_STABLE, MOODLE_35_STABLE, MOODLE_36_STABLE
    • Fixed Branches:
      MOODLE_31_STABLE, MOODLE_33_STABLE, MOODLE_34_STABLE, MOODLE_35_STABLE
    • Pull 3.5 Branch:
    • Pull Master Branch:

      Description

      Policy: Keeping us on top of nodejs/npm LTS versions (including jumps to next LTS)

      Since September 2018 (MDL-63346):

      1. This policy will be applied to ALL supported branches, normal and security-only.
      2. This policy won't update any tool per se, unless strictly needed by nodejs/npm own dependencies/changes. It won't include npm audit changes either. Those are handled apart.
      3. TODO (MDLSITE-5536): A job @ CI servers will be, daily, using latest lts/current version to detect if there are npm-shrinkwrap.json changes. It will fail when that happens and inform integrators. Jumps to lts/next will be detected manually,.
      4. When that happens, a new issue, similar to this, will be created and these steps performed in order to get a renewed npm-shrinkwrap.json file:
        • remove node_modules & npm-shrinkwrap.json
        • npm cache clear --force
        • npm install
        • npm shrinkwrap
      5. The resulting branches will be sent to github (or similar), making a peer-review request here so both travis and cibot will verify that all them pass ok.
      6. Changes will be normally integrated and the NodeJSVersion template will be updated with latest information in the Docs.

      It seems that pointing to lts/carbon is, once again, leading to changes to the npm-shrinkwrap.json that later is detected as modified by various checks and leading to local modifications in everyone's local repos.

      To discuss:

      A- Or we stay sticky with old one (nodejs v8.11.1 and npm 5.6.0). And populate that everywhere (jobs, docs...).

      B- Or we continue using the generic lts/carbon (now nodejs v8.12.0 and npm 5.6.1) and roll new npm-shrinkwrap.json versions.

      C- And, independently of the 2 above, we also exclude npm-shrinkwrap.json differences from automated tests, so they aren't affected by this in the future (cibot, travis, postchecks...).

      Note: This needs to be applied to all supported (any type) branches. Right now 31, 33, 34, 35 and master.

      Ciao

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                stronk7 Eloy Lafuente (stronk7)
                Reporter:
                stronk7 Eloy Lafuente (stronk7)
                Peer reviewer:
                Tristan Roscoe
                Integrator:
                Andrew Nicols
                Tester:
                Andrew Nicols
                Participants:
                Component watchers:
                Jake Dallimore, Jun Pataleta, Ryan Wyllie, Jake Dallimore, Jun Pataleta, Ryan Wyllie, Adrian Greeve, Andrew Nicols, Eloy Lafuente (stronk7), Juan Leyva, Jun Pataleta, Sander Bangma
              • Votes:
                2 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  12/Nov/18