geeklearningio / gl-vsts-tasks-yarn

Yarn Package Manager Visual Studio Team Services Build and Release Management extensions
MIT License
52 stars 18 forks source link

Fails in azure pipelines when using a feed #60

Closed grendo closed 5 years ago

grendo commented 5 years ago

Hi, fairly basic example to install a packages fails

UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Failed to find api location for area: npm id

I created the yml via the designer.

Pipeline

resources:

queue: name: Hosted VS2017

steps:

Log

2018-12-10T01:01:23.6731431Z ==============================================================================
2018-12-10T01:01:23.6731492Z Task         : Yarn task
2018-12-10T01:01:23.6731546Z Description  : Executes Yarn
2018-12-10T01:01:23.6731582Z Version      : 2.7.1003
2018-12-10T01:01:23.6731614Z Author       : Geek Learning
2018-12-10T01:01:23.6732552Z Help         : [More Information](https://github.com/geeklearningio/gl-vsts-tasks-yarn/wiki/Yarn) (Version 2.7.1003).

Dear Angular and Ember CLI users, please check our [known issues](https://github.com/geeklearningio/gl-vsts-tasks-yarn/wiki/Known-Issues)
2018-12-10T01:01:23.6732890Z ==============================================================================
2018-12-10T01:01:24.4604473Z SYSTEMVSSCONNECTION exists true
2018-12-10T01:01:24.6293722Z (node:1300) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Failed to find api location for area: npm id:
sandorfr commented 5 years ago

Your feed Id is unlikely to be correct, if you are not using a private feed can you try with customRegistries: useNpmrc instead ? On Mon 10 Dec 2018 at 12:06, grendo notifications@github.com wrote:

Hi, fairly basic example to install a packages fails

UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Failed to find api location for area: npm id

I created the yml via the designer.

Pipeline

resources:

  • repo: self fetchDepth: 15

queue: name: Hosted VS2017

steps:

  • task: geeklearningio.gl-vsts-tasks-yarn.yarn-task.Yarn@2 displayName: 'Yarn' inputs: ProjectDirectory: . customRegistry: useFeed customFeed: '00000000-0000-0000-0000-000000000000'

Log

2018-12-10T01:01:23.6731431Z ============================================================================== 2018-12-10T01:01:23.6731492Z Task : Yarn task 2018-12-10T01:01:23.6731546Z Description : Executes Yarn 2018-12-10T01:01:23.6731582Z Version : 2.7.1003 2018-12-10T01:01:23.6731614Z Author : Geek Learning 2018-12-10T01:01:23.6732552Z Help : More Information (Version 2.7.1003).

Dear Angular and Ember CLI users, please check our known issues 2018-12-10T01:01:23.6732890Z ============================================================================== 2018-12-10T01:01:24.4604473Z SYSTEMVSSCONNECTION exists true 2018-12-10T01:01:24.6293722Z (node:1300) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Failed to find api location for area: npm id:

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/geeklearningio/gl-vsts-tasks-yarn/issues/60, or mute the thread https://github.com/notifications/unsubscribe-auth/ACiXptEk92PfLLiLHxZHoqfTV2-QOEbLks5u3bOOgaJpZM4ZKciH .

grendo commented 5 years ago

ok, I got guid for the feed from going through the visual designer. I have also managed to do a npm task using the same guid with no problem. I did not paste it in the message for security reasons. So if the npm task is working then it seems like a issue with the yarn task ?

darrensteadman commented 5 years ago

I'm seeing the same thing.

I'm currently in the process of migrating from our on prem TFS to Azure DevOps and when I'm creating a new build pipeline my package isn't being published for the same reason above. It looks like its having problems with the artifacts feed

sandorfr commented 5 years ago

So I just migrated a test build to yaml and I didn't get any issue

resources:
- repo: self
  clean: true
queue:
  name: Shared Windows
steps:
- task: geeklearningio.gl-vsts-tasks-yarn-dev.yarn-installer-task.YarnInstaller@2
  displayName: 'Use Yarn 1.10.x'
  inputs:
    versionSpec: 1.10.x

    checkLatest: true

    includePrerelease: true

- task: geeklearningio.gl-vsts-tasks-yarn-dev.yarn-task.Yarn@2
  displayName: 'No custom package no npmrc'
  inputs:
    ProjectDirectory: src/YarnNoNpmRc

- task: geeklearningio.gl-vsts-tasks-yarn-dev.yarn-task.Yarn@2
  displayName: 'No custom package but .npmrc'
  inputs:
    ProjectDirectory: src/YarnNpmRc

- task: geeklearningio.gl-vsts-tasks-yarn-dev.yarn-task.Yarn@2
  displayName: 'Custom Package in Custom Feed Directly Specified'
  inputs:
    ProjectDirectory: src/YarnCustomPackageNoNpmRc

    customRegistry: useFeed

    customFeed: 'ead7b14e-a830-4f35-9087-f87c338a6bfe'

- task: geeklearningio.gl-vsts-tasks-yarn-dev.yarn-task.Yarn@2
  displayName: 'Custom Package in Custom Feed npmrc'
  inputs:
    ProjectDirectory: src/YarnCustomPackageNpmRc

- task: geeklearningio.gl-vsts-tasks-yarn-dev.yarn-task.Yarn@2
  displayName: 'Yarn licenses generate-disclaimer'
  inputs:
    ProjectDirectory: src/SampleNode

    Arguments: 'licenses generate-disclaimer'

    customRegistry: useFeed

    customFeed: 'ead7b14e-a830-4f35-9087-f87c338a6bfe'

I also tried on Hosted VS2017 without any issues. Would you mind running it with system.debug set to true ?

svanzoest commented 5 years ago

One thing that may matter here is the .visualstudio.com versus .dev.azure.com registries. If I have .dev.azure.com in my .npmrc but auth is done via .visualstudio.com it fails.

sandorfr commented 5 years ago

what are the .dev.azure.com feed?

svanzoest commented 5 years ago

It is the same thing just renamed when Microsoft renamed VSTS to Azure DevOps.

URLs will change from abc.visualstudio.com to dev.azure.com/abc. We will support redirects from visualstudio.com URLs so there will not be broken links.

grendo commented 5 years ago

I tried changing the .dev.azure.com in the npmrc to .visual studio.com

my yml looks like

Still get the same error shown below. Did you try a publish in your example, eg " Arguments: publish" ? I could not see one in the sample.

Dear Angular and Ember CLI users, please check our known issues 2018-12-21T00:40:03.0289400Z ============================================================================== 2018-12-21T00:40:04.0977457Z SYSTEMVSSCONNECTION exists true 2018-12-21T00:40:04.4088742Z (node:3528) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Failed to find api location for area: npm id:

grendo commented 5 years ago

Other thing I would say even though the yarn publish failed azure devops did not report it as a error.

sandorfr commented 5 years ago

I've pushed an update for the new url support. Let me know if it solves your problem.

svanzoest commented 5 years ago

@sandorfr thank you for this. 2.8.1001 seems to have addressed the issue with loading the private npm registry. 🎉