• Blue Ocean - 1.1-beta-1, Blue Ocean - 1.1-beta2, Blue Ocean 1.1-beta4, Blue Ocean 1.1, Blue Ocean 1.1

      Given the increasing tempo of build failures to to npm, the challenges with shrinkwrap and the inability to use mirrors, it may be time to evaluate the use of yarn as an alternative.

      Approach

      • General things to validate
        • Ensure "run scripts" still work with yarn
        • maven-frontend-plugin supports yarn natively, so we just need to switch this over.
        • Do local installs work nicely? (for rapid development). Can we obviate or at least better integrate w/ slink so rapid dev is more seamless? Check out "yarn link"
      • JDL Next
        • Need to determine if/how a Yarn-published module is able to freeze its dependencies when pulled in via npm (since there is no shrink, probably not, but maybe there's some magic)
        • Publish some beta JDL's and then pull them in via a blueocean-plugin PR to ensure ATH passes and things work, etc
      • blueocean-core-js
        • Do the same as above
        • At this point perhaps we add JDL as a peerDep and avoid the need to republish core-js each time new JDL is published (large pain point)
      • blueocean-web, dashboard and personalization
        • Port these over to yarn as well
      • Test with Artifactory

          [JENKINS-43411] Evaluate yarn

          Jesse Glick added a comment -

          Is this intended to solve part/all of INFRA-1139, or is it related to some extent?

          Jesse Glick added a comment - Is this intended to solve part/all of INFRA-1139, or is it related to some extent?

          Michael Neale added a comment -

          jglick partially yes. That specific issue that happened recently wasn't the npm registry, more a repo of binaries (still have to work out how to mirror that), but the more common case is this. 

           

          Yarn doesn't specifically change things to allow the jenkins npm registry to be used but it is one of the side benefits. 

           

          cliffmeyers this is in review - what is best way to test this? and IIUC the plugin-pom change wont' make it use the artifactory proxy automatically? 

          Michael Neale added a comment - jglick partially yes. That specific issue that happened recently wasn't the npm registry, more a repo of binaries (still have to work out how to mirror that), but the more common case is this.    Yarn doesn't specifically change things to allow the jenkins npm registry to be used but it is one of the side benefits.    cliffmeyers this is in review - what is best way to test this? and IIUC the plugin-pom change wont' make it use the artifactory proxy automatically? 

          Cliff Meyers added a comment -

          I did not put this in review just because there will be multiple PR's and more testing that needs to be done in CI. I suppose it's semantics anyways.

          Cliff Meyers added a comment - I did not put this in review just because there will be multiple PR's and more testing that needs to be done in CI. I suppose it's semantics anyways.

          Cliff Meyers added a comment -

          First PR that adds yarn support to plugin-pom is here: https://github.com/jenkinsci/plugin-pom/pull/57

          Cliff Meyers added a comment - First PR that adds yarn support to plugin-pom is here: https://github.com/jenkinsci/plugin-pom/pull/57

          Jesse Glick added a comment -

          Yup, already linked above.

          Jesse Glick added a comment - Yup, already linked above.

          Cliff Meyers added a comment -

          Second PR that uses yarn to build blue ocean modules is here: https://github.com/jenkinsci/blueocean-plugin/pull/981

          Cliff Meyers added a comment - Second PR that uses yarn to build blue ocean modules is here: https://github.com/jenkinsci/blueocean-plugin/pull/981

          Cliff Meyers added a comment -

          This is on hold until new extensibility system lands. Both from a conflict standpoint, but also hopefully because a lot of our need to publish to npm registry may be obviated by it, and there are some pitfalls with publishing to npm/yarn registry when using a custom repo / mirror.

          Cliff Meyers added a comment - This is on hold until new extensibility system lands. Both from a conflict standpoint, but also hopefully because a lot of our need to publish to npm registry may be obviated by it, and there are some pitfalls with publishing to npm/yarn registry when using a custom repo / mirror.

          James Dumay added a comment -

          Move this to backlog unit we can get Viveks time to unblock

          James Dumay added a comment - Move this to backlog unit we can get Viveks time to unblock

          James Dumay added a comment -

          Postponing. Looks like NPM is less crappy nowdays?

          James Dumay added a comment - Postponing. Looks like NPM is less crappy nowdays?

            Unassigned Unassigned
            michaelneale Michael Neale
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: