citgm icon indicating copy to clipboard operation
citgm copied to clipboard

lookup: add yarn to lookup.json

Open edvardchen opened this issue 3 years ago • 49 comments

Checklist
  • [x] npm test passes
  • [x] tests are included
  • [x] documentation is changed or added
  • [x] contribution guidelines followed here

edvardchen avatar May 09 '22 03:05 edvardchen

CI: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker-pipeline/155/console

targos avatar May 09 '22 06:05 targos

@targos is there any way to see the error details? And had it succeeded?

edvardchen avatar May 11 '22 10:05 edvardchen

There are many failures. You can see the details for each Node.js version with the following links:

  • v14: https://ci.nodejs.org/job/citgm-smoker-nobuild/1227/
  • v16: https://ci.nodejs.org/job/citgm-smoker-nobuild/1228/
  • v18: https://ci.nodejs.org/job/citgm-smoker-nobuild/1229/

targos avatar May 11 '22 10:05 targos

Codecov Report

All modified lines are covered by tests :white_check_mark:

Comparison is base (5892481) 96.44% compared to head (a103a34) 96.44%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #905   +/-   ##
=======================================
  Coverage   96.44%   96.44%           
=======================================
  Files          28       28           
  Lines        2139     2139           
=======================================
  Hits         2063     2063           
  Misses         76       76           

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov-commenter avatar May 11 '22 10:05 codecov-commenter

Is it ready for another CI round?

targos avatar May 11 '22 11:05 targos

Not yet, we'll also need to skip all big-endian platforms as that's currently not supported. The git diff related tests failing is a bit odd.

merceyz avatar May 11 '22 12:05 merceyz

Not yet, we'll also need to skip all big-endian platforms as that's currently not supported. The git diff related tests failing is a bit odd.

is there any way we can know the test machine use big endian or little endian? @targos

edvardchen avatar May 12 '22 07:05 edvardchen

Not sure. @richardlau probably knows better.

targos avatar May 12 '22 07:05 targos

Jest has the same requirement so you can copy its skip value. https://github.com/nodejs/citgm/blob/908ebe2beac091131a8dbb73af11b55cf424add1/lib/lookup.json#L268

merceyz avatar May 12 '22 08:05 merceyz

Not yet, we'll also need to skip all big-endian platforms as that's currently not supported. The git diff related tests failing is a bit odd.

is there any way we can know the test machine use big endian or little endian?

Not directly in the CITGM lookup table, but in the Node.js CI "aix" and "s390x" are big endian.

Jest has the same requirement so you can copy its skip value.

https://github.com/nodejs/citgm/blob/908ebe2beac091131a8dbb73af11b55cf424add1/lib/lookup.json#L268

FWIW of those only the first two ("aix", "s390x") are big endian. "ppc" could match ppc64 (big endian) or ppc64le (little endian).

richardlau avatar May 12 '22 11:05 richardlau

@targos I think we are ready for another CI round

edvardchen avatar May 13 '22 06:05 edvardchen

CI: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker-pipeline/156/console

targos avatar May 13 '22 08:05 targos

They all fail with the same error:

Error: incorrect header check 

targos avatar May 13 '22 09:05 targos

I can reproduce:

$ node bin/citgm.js yarn
info: starting            | yarn
info: lookup              | yarn
info: lookup-found        | yarn
info: yarn lookup-replace | https://github.com/yarnpkg/berry/archive/@yarnpkg/[email protected]
info: yarn yarn:          | Downloading project: https://github.com/yarnpkg/berry/archive/@yarnpkg/[email protected]
info: yarn npm:           | Project downloaded [email protected]
error: failure             | incorrect header check
error: failing module(s)   |
error: module name:        | yarn
error: version:            | 1.22.18
error: error:              | incorrect header check
error: error:              | undefined
error: done                | The smoke test has failed.
info: duration            | test duration: 999ms

targos avatar May 13 '22 09:05 targos

Seems https://github.com/nodejs/citgm/pull/905/commits/4666750c6ee6891476cfee4d06ddcead64d2de4e (https://github.com/nodejs/citgm/pull/905#discussion_r870121829) needs to be reverted, I was assuming it would get the version from the git repo and not the registry.

merceyz avatar May 13 '22 09:05 merceyz

Result on my mac after reverting to @yarnpkg/cli:

$ node bin/citgm.js @yarnpkg/cli
info: starting            | @yarnpkg/cli
info: lookup              | @yarnpkg/cli
info: lookup-found        | @yarnpkg/cli
info: @yarnpkg/cli lookup-replace| https://github.com/yarnpkg/berry/archive/97904dfb0fef7b8b1a82be5211bb7a8a31c895e8.tar.gz
info: @yarnpkg/cli yarn:  | Downloading project: https://github.com/yarnpkg/berry/archive/97904dfb0fef7b8b1a82be5211bb7a8a31c895e8.tar.gz
info: @yarnpkg/cli npm:   | Project downloaded 97904dfb0fef7b8b1a82be5211bb7a8a31c895e8.tar.gz
info: @yarnpkg/cli yarn:  | yarn install started
info: @yarnpkg/cli yarn:  | yarn install successfully completed
info: @yarnpkg/cli yarn:  | test suite started
error: failure             | The canary is dead:
error: failing module(s)   |
error: module name:        | @yarnpkg/cli
error: version:            | 4.0.0-rc.5
error: error:              | The canary is dead:
error: error:              | undefined➤ YN0000: ┌ Resolution step
error:                     | ➤ YN0002: │ @endemolshinegroup/cosmiconfig-typescript-loader@npm:3.0.2 [714f3] doesn't provide typescript (p88d18), requested by ts-node
error:                     | ➤ YN0060: │ @yarnpkg/gatsby@workspace:packages/gatsby provides @babel/core (p21150) with version 7.17.8, which doesn't satisfy what gatsby and some of its descendants request
error:                     | ➤ YN0002: │ @yarnpkg/gatsby@workspace:packages/gatsby doesn't provide @emotion/core (pa19bb), requested by gatsby-plugin-mdx
error:                     | ➤ YN0060: │ @yarnpkg/gatsby@workspace:packages/gatsby provides @emotion/react (p8d0a3) with version 11.4.0, which doesn't satisfy what gatsby-plugin-mdx requests
error:                     | ➤ YN0060: │ @yarnpkg/gatsby@workspace:packages/gatsby provides react (p9a4eb) with version 16.13.1, which doesn't satisfy what gatsby and some of its descendants request
error:                     | ➤ YN0060: │ @yarnpkg/gatsby@workspace:packages/gatsby provides react (p18725) with version 16.13.1, which doesn't satisfy what rc-dropdown and some of its descendants request
error:                     | ➤ YN0060: │ @yarnpkg/gatsby@workspace:packages/gatsby provides react-dom (pf7d54) with version 16.13.1, which doesn't satisfy what rc-dropdown and some of its descendants request
error:                     | ➤ YN0002: │ @yarnpkg/gatsby@workspace:packages/gatsby doesn't provide webpack (pe1aa2), requested by gatsby-plugin-favicon
error:                     | ➤ YN0060: │ @yarnpkg/monorepo@workspace:. provides eslint (pf82c3) with version 8.2.0, which doesn't satisfy what @yarnpkg/eslint-config and some of its descendants request
error:                     | ➤ YN0002: │ acceptance-tests@workspace:packages/acceptance-tests doesn't provide jest (pcc8ab), requested by jest-json
error:                     | ➤ YN0002: │ gatsby-cli@npm:3.14.0 [7243a] doesn't provide ink (p4a7fc), requested by gatsby-recipes
error:                     | ➤ YN0060: │ gatsby-recipes@npm:0.25.0 [bb88b] provides graphql (pc0633) with version 15.5.0, which doesn't satisfy what graphql-subscriptions requests
error:                     | ➤ YN0002: │ gatsby@npm:3.14.0 [118b2] doesn't provide babel-eslint (p70342), requested by eslint-config-react-app
error:                     | ➤ YN0060: │ gatsby@npm:3.14.0 [118b2] provides eslint (pc6d9a) with version 7.32.0, which doesn't satisfy what gatsby-cli and some of its descendants request
error:                     | ➤ YN0060: │ gatsby@npm:3.14.0 [118b2] provides gatsby (p88084) with version 3.14.0, which doesn't satisfy what gatsby-cli and some of its descendants request
error:                     | ➤ YN0060: │ gatsby@npm:3.14.0 [118b2] provides redux (pa3716) with version 4.0.5, which doesn't satisfy what redux-thunk requests
error:                     | ➤ YN0060: │ gatsby@npm:3.14.0 [118b2] provides webpack (p900e0) with version 5.38.1, which doesn't satisfy what gatsby-cli and some of its descendants request
error:                     | ➤ YN0002: │ react-dev-utils@npm:11.0.4 doesn't provide typescript (p79ddf), requested by fork-ts-checker-webpack-plugin
error:                     | ➤ YN0002: │ react-dev-utils@npm:11.0.4 doesn't provide webpack (p2af19), requested by fork-ts-checker-webpack-plugin
error:                     | ➤ YN0002: │ react-instantsearch-dom@npm:6.6.0 [118b2] doesn't provide algoliasearch (p65251), requested by algoliasearch-helper
error:                     | ➤ YN0002: │ react-instantsearch-dom@npm:6.6.0 [118b2] doesn't provide algoliasearch (p5ab0d), requested by react-instantsearch-core
error:                     | ➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
error:                     | ➤ YN0000: └ Completed in 0s 233ms
error:                     | ➤ YN0000: ┌ Fetch step
error:                     | ➤ YN0000: └ Completed in 0s 366ms
error:                     | ➤ YN0000: ┌ Link step
error:                     | ➤ YN0005: │ core-js@npm:2.6.11 lists build scripts, but its build has been explicitly disabled through configuration.
error:                     | ➤ YN0005: │ core-js@npm:3.18.0 lists build scripts, but its build has been explicitly disabled through configuration.
error:                     | ➤ YN0005: │ gatsby-telemetry@npm:2.14.0 lists build scripts, but its build has been explicitly disabled through configuration.
error:                     | ➤ YN0005: │ gatsby@npm:3.14.0 [118b2] lists build scripts, but its build has been explicitly disabled through configuration.
error:                     | ➤ YN0005: │ core-js-pure@npm:3.21.1 lists build scripts, but its build has been explicitly disabled through configuration.
error:                     | ➤ YN0005: │ gatsby-cli@npm:3.14.0 [7243a] lists build scripts, but its build has been explicitly disabled through configuration.
error:                     | ➤ YN0005: │ fsevents@patch:fsevents@npm%3A1.2.13#optional!builtin<compat/fsevents>::version=1.2.13&hash=18f3a7 lists build scripts, but its build has been explicitly disabled through configuration.
error:                     | ➤ YN0000: └ Completed in 0s 971ms
error:                     | ➤ YN0000: Done with warnings in 1s 847ms
error:                     | ➤ YN0000: ┌ Building the CLI
error:                     | ➤ YN0000: │ pnp:/private/var/folders/vy/7hd71t752szdg3km0llpsqdw0000gn/T/c4731d6b-36f9-4eff-849e-8c1aea3fe659/@yarnpkg/cli/packages/yarnpkg-core/sources/miscUtils.ts:322:33
error:                     | ➤ YN0000: │    ↳ Using direct eval with a bundler is not recommended and may cause problems (more info: https://esbuild.github.io/link/direct-eval)
error:                     | ➤ YN0000: │ pnp:/private/var/folders/vy/7hd71t752szdg3km0llpsqdw0000gn/T/c4731d6b-36f9-4eff-849e-8c1aea3fe659/@yarnpkg/cli/packages/yarnpkg-core/sources/miscUtils.ts:343:26
error:                     | ➤ YN0000: │    ↳ Using direct eval with a bundler is not recommended and may cause problems (more info: https://esbuild.github.io/link/direct-eval)
error:                     | ➤ YN0000: └ Completed in 3s 225ms
error:                     |
error:                     | ➤ YN0000: ✓ Done building the CLI!
error:                     | ➤ YN0000: ? Bundle path: /private/var/folders/vy/7hd71t752szdg3km0llpsqdw0000gn/T/c4731d6b-36f9-4eff-849e-8c1aea3fe659/@yarnpkg/cli/packages/yarnpkg-cli/bundles/yarn.js
error:                     | ➤ YN0000: ? Bundle size: 2.67 MB
error:                     | ➤ YN0000: ? Bundle version: 4.0.0-rc.5
error:                     |
error:                     | ➤ YN0000: → @yarnpkg/plugin-essentials
error:                     | ➤ YN0000: → @yarnpkg/plugin-compat
error:                     | ➤ YN0000: → @yarnpkg/plugin-constraints
error:                     | ➤ YN0000: → @yarnpkg/plugin-dlx
error:                     | ➤ YN0000: → @yarnpkg/plugin-exec
error:                     | ➤ YN0000: → @yarnpkg/plugin-file
error:                     | ➤ YN0000: → @yarnpkg/plugin-git
error:                     | ➤ YN0000: → @yarnpkg/plugin-github
error:                     | ➤ YN0000: → @yarnpkg/plugin-http
error:                     | ➤ YN0000: → @yarnpkg/plugin-init
error:                     | ➤ YN0000: → @yarnpkg/plugin-interactive-tools
error:                     | ➤ YN0000: → @yarnpkg/plugin-link
error:                     | ➤ YN0000: → @yarnpkg/plugin-nm
error:                     | ➤ YN0000: → @yarnpkg/plugin-npm
error:                     | ➤ YN0000: → @yarnpkg/plugin-npm-cli
error:                     | ➤ YN0000: → @yarnpkg/plugin-pack
error:                     | ➤ YN0000: → @yarnpkg/plugin-patch
error:                     | ➤ YN0000: → @yarnpkg/plugin-pnp
error:                     | ➤ YN0000: → @yarnpkg/plugin-pnpm
error:                     | ➤ YN0000: → @yarnpkg/plugin-stage
error:                     | ➤ YN0000: → @yarnpkg/plugin-typescript
error:                     | ➤ YN0000: → @yarnpkg/plugin-version
error:                     | ➤ YN0000: → @yarnpkg/plugin-workspace-tools
error:                     |
error:                     | PASS packages/yarnpkg-fslib/tests/npath.test.ts
error:                     | PASS packages/yarnpkg-nm/tests/hoist.test.ts
error:                     | PASS packages/yarnpkg-fslib/tests/ZipOpenFS.test.ts
error:                     | PASS packages/yarnpkg-fslib/tests/VirtualFS.test.ts
error:                     | PASS packages/yarnpkg-fslib/tests/patchedFs.test.ts
error:                     | PASS packages/yarnpkg-fslib/tests/ZipFS.test.ts
error:                     | PASS packages/plugin-github/tests/githubUtils.test.ts
error:                     | PASS packages/yarnpkg-core/tests/semverUtils.test.ts
error:                     | PASS packages/yarnpkg-parsers/tests/shell.test.ts
error:                     | PASS packages/yarnpkg-pnpify/tests/WatchManager.test.ts
error:                     | PASS packages/yarnpkg-core/tests/LegacyMigrationResolver.test.ts
error:                     | PASS packages/yarnpkg-core/tests/httpUtils.test.ts
error:                     | PASS packages/plugin-patch/tests/parsePatchFile.test.ts
error:                     | PASS packages/plugin-git/tests/gitUtils.test.ts
error:                     | PASS packages/yarnpkg-fslib/tests/ProxiedFS.test.ts
error:                     | PASS packages/yarnpkg-parsers/tests/syml.test.js
error:                     | PASS packages/yarnpkg-fslib/tests/NodeFS.test.ts
error:                     | PASS packages/yarnpkg-fslib/tests/JailFS.test.ts
error:                     | PASS packages/yarnpkg-core/tests/miscUtils.test.ts
error:                     | PASS packages/yarnpkg-core/tests/Manifest.test.ts
error:                     | PASS packages/yarnpkg-core/tests/scriptUtils.test.ts
error:                     | PASS packages/yarnpkg-fslib/tests/xfs.test.ts
error:                     | PASS packages/yarnpkg-core/tests/Project.test.ts (7.356 s)
error:                     | PASS packages/plugin-npm/tests/npmHttpUtils.test.js
error:                     | PASS packages/plugin-npm/tests/NpmSemverFetcher.test.js
error:                     | PASS packages/plugin-npm/tests/NpmSemverResolver.test.ts
error:                     | PASS packages/yarnpkg-core/tests/Configuration.test.ts (7.463 s)
error:                     | PASS packages/yarnpkg-pnp/tests/generatePrettyJson.test.ts
error:                     | PASS packages/plugin-github/sources/githubUtils.test.js
error:                     | PASS packages/plugin-patch/tests/diffFolders.test.ts
error:                     | PASS packages/plugin-version/sources/versionUtils.test.ts
error:                     | PASS packages/yarnpkg-core/tests/tgzUtils.test.ts
error:                     | PASS packages/yarnpkg-shell/tests/shell.test.ts (9.358 s)
error:                     |
error:                     | Test Suites: 33 passed, 33 total
error:                     | Tests:       600 passed, 600 total
error:                     | Snapshots:   79 passed, 79 total
error:                     | Time:        10.006 s
error:                     | Ran all test suites.
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/dragon.test.js (21.672 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/install.test.js (26.377 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/add.test.ts (35.655 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/pack.test.js (37.448 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/node-modules.test.ts (57.193 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/pnp-esm.test.ts (26.856 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/workspaces/foreach.test.js (36.14 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/workspaces/list.test.js (10.529 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/pnpapi.test.ts (27.936 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/plugins/plugin-typescript.test.ts (15.799 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/exports.test.ts (89.459 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/auth.test.js (17.751 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/unlink.test.js (10.241 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/prunedNativeDeps.test.ts (10.786 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/version.test.ts (11.334 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/logFilter.test.ts (17.957 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/workspace.test.ts (7.615 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/patchCommit.test.ts (10.316 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/basic.test.js (96.513 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/pnp.test.js (118.903 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/npm/logout.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/script.test.js (85.837 s)
error: error:              | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/dedupe.test.ts (23.298 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/link.test.js (5.063 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/editorSdks.test.js (16.162 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/unplug.test.ts (12.13 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/workspaces/focus.test.js (8.655 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/info.test.ts (9.626 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/version/apply.test.ts (7.893 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/protocols/patch.test.ts (14.225 s)
error:                     | FAIL packages/acceptance-tests/pkg-tests-specs/sources/protocols/git.test.js (39.797 s)
error:                     | ● Protocols › git: › it should resolve a git dependency (git://github.com/yarnpkg/util-deprecate.git#v1.0.1)
error:                     |
error:                     | Temporary fixture folder: /private/var/folders/vy/7hd71t752szdg3km0llpsqdw0000gn/T/c4731d6b-36f9-4eff-849e-8c1aea3fe659/npm_config_tmp/xfs-46d76690
error:                     |
error:                     | Command failed: /Users/targos/.volta/tools/image/node/18.1.0/bin/node /private/var/folders/vy/7hd71t752szdg3km0llpsqdw0000gn/T/c4731d6b-36f9-4eff-849e-8c1aea3fe659/@yarnpkg/cli/packages/yarnpkg-cli/bundles/yarn.js install
error:                     |
error:                     |
error:                     | ===== stdout:
error:                     |
error:                     | ```
error:                     | ➤ YN0000: ┌ Resolution step
error:                     | ➤ YN0001: │ util-deprecate@git://github.com/yarnpkg/util-deprecate.git#v1.0.1: Failed listing refs
error:                     | ➤ YN0001: │   Repository URL: git://github.com/yarnpkg/util-deprecate.git
error:                     | ➤ YN0001: │   Fatal Error: remote error:
error:                     | ➤ YN0001: │   Exit Code: 128
error:                     | ➤ YN0000: └ Completed
error:                     | ➤ YN0000: Failed with errors
error:                     | ```
error:                     |
error:                     | ===== stderr:
error:                     |
error:                     | ```
error:                     | ```
error:                     |
error:                     | at ChildProcess.exithandler (../../node:child_process:387:12)
error:                     | at ChildProcess.emit (../../node:events:527:28)
error:                     | at maybeClose (../../node:internal/child_process:1090:16)
error:                     | at Socket.<anonymous> (../../node:internal/child_process:449:11)
error:                     | at Socket.emit (../../node:events:527:28)
error:                     | at Pipe.<anonymous> (../../node:net:715:12)
error:                     |
error:                     | › 1 snapshot written.
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/remove.test.js (5.975 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/require.test.js (12.28 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/dlx.test.js (9.502 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/https.test.js (6.814 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/immutablePatterns.test.ts (8.048 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/config.test.js (8.931 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/constraints/fix.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/protocols/portals.test.js (5.511 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/packageExtensions.test.ts (5.798 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/version/check.test.js (16.558 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/mergeConflictResolution.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/set/version.test.ts (5.527 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/npm/whoami.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/pnpLoose.test.ts (7.085 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/resolutions.test.js (6.876 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/config/unset.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/run.test.js (9.798 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/initFields.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/protocols/links.test.js (6.769 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/stage.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/legacy.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/patch.test.ts (12.972 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/up.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/protocols/execs.test.js (5.226 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/plugins.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/protocols/npm.test.js (7.976 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/peerDependenciesMeta.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/plugin/remove.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/protocols/workspace.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/init.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/workspace.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/cache.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/lock.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/constraints/query.test.js (21.331 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/checkResolutions.test.ts (10.49 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/config/set.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/rcFiles.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/compressionLevel.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/config/get.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/projectDetection.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/enableNetwork.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/exec.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/rebuild.test.js (6.051 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/npm/info.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/plugin/import.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/localMirror.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/cache/clean.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/autoClean.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/protocols/semver.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/protocols/file.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/mirror.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/v1Migration.test.ts
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/create.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/_entry.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/features/unsafeHttpWhitelist.test.js
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/constraints.test.js (25.217 s)
error:                     | PASS packages/acceptance-tests/pkg-tests-specs/sources/commands/constraints/source.test.js (12.125 s)
error:                     | FAIL packages/acceptance-tests/pkg-tests-specs/sources/commands/publish.test.ts (32.461 s)
error:                     | ● publish › should fail when invalid otp is given
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 43 |   }));
error:                     | 44 |
error:                     | > 45 |   test(`should fail when invalid otp is given`,
error:                     | |   ^
error:                     | 46 |     makeTemporaryEnv({
error:                     | 47 |       name: `otp-required`,
error:                     | 48 |       version: `1.0.0`,
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/publish.test.ts:45:3)
error:                     |
error:                     | FAIL packages/acceptance-tests/pkg-tests-specs/sources/commands/npm/login.test.js (180.828 s)
error:                     | ● Commands › npm login › it should login a user with no OTP setup
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 13 | describe(`Commands`, () => {
error:                     | 14 |   describe(`npm login`, () => {
error:                     | > 15 |     test(
error:                     | |     ^
error:                     | 16 |       `it should login a user with no OTP setup`,
error:                     | 17 |       makeTemporaryEnv({}, async ({path, run, source}) => {
error:                     | 18 |         const homePath = await createTemporaryFolder();
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/npm/login.test.js:15:5)
error:                     |
error:                     | ● Commands › npm login › it should login a user with OTP setup
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 45 |     );
error:                     | 46 |
error:                     | > 47 |     test(
error:                     | |     ^
error:                     | 48 |       `it should login a user with OTP setup`,
error:                     | 49 |       makeTemporaryEnv({}, async ({path, run, source}) => {
error:                     | 50 |         const homePath = await createTemporaryFolder();
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/npm/login.test.js:47:5)
error:                     |
error:                     | ● Commands › npm login › it should throw an error when credentials are incorrect
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 79 |     );
error:                     | 80 |
error:                     | > 81 |     test(
error:                     | |     ^
error:                     | 82 |       `it should throw an error when credentials are incorrect`,
error: error:              | 83 |       makeTemporaryEnv({}, async ({path, run, source}) => {
error:                     | 84 |         await expect(
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/npm/login.test.js:81:5)
error:                     |
error:                     | ● Commands › npm login › it should throw an error with incorrect OTP
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 93 |     );
error:                     | 94 |
error:                     | > 95 |     test(
error:                     | |     ^
error:                     | 96 |       `it should throw an error with incorrect OTP`,
error:                     | 97 |       makeTemporaryEnv({}, async ({path, run, source}) => {
error:                     | 98 |         await expect(
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/npm/login.test.js:95:5)
error:                     |
error:                     | ● Commands › npm login › it should login a user with no OTP setup to a specific scope
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 108 |     );
error:                     | 109 |
error:                     | > 110 |     test(
error:                     | |     ^
error:                     | 111 |       `it should login a user with no OTP setup to a specific scope`,
error:                     | 112 |       makeTemporaryEnv({}, async ({path, run, source}) => {
error:                     | 113 |         const url = await startPackageServer();
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/npm/login.test.js:110:5)
error:                     |
error:                     | ● Commands › npm login › it should login a user with OTP to a specific scope
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 146 |     );
error:                     | 147 |
error:                     | > 148 |     test(
error:                     | |     ^
error:                     | 149 |       `it should login a user with OTP to a specific scope`,
error:                     | 150 |       makeTemporaryEnv({}, async ({path, run, source}) => {
error:                     | 151 |         const url = await startPackageServer();
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/npm/login.test.js:148:5)
error:                     |
error:                     | A worker process has failed to exit gracefully and has been force exited. This is likely caused by tests leaking due to improper teardown. Try running with --runInBand --detectOpenHandles to find leaks.
error:                     | Summary of all failing tests
error:                     | FAIL pkg-tests-specs/sources/protocols/git.test.js (39.797 s)
error:                     | ● Protocols › git: › it should resolve a git dependency (git://github.com/yarnpkg/util-deprecate.git#v1.0.1)
error:                     |
error:                     | Temporary fixture folder: /private/var/folders/vy/7hd71t752szdg3km0llpsqdw0000gn/T/c4731d6b-36f9-4eff-849e-8c1aea3fe659/npm_config_tmp/xfs-46d76690
error:                     |
error:                     | Command failed: /Users/targos/.volta/tools/image/node/18.1.0/bin/node /private/var/folders/vy/7hd71t752szdg3km0llpsqdw0000gn/T/c4731d6b-36f9-4eff-849e-8c1aea3fe659/@yarnpkg/cli/packages/yarnpkg-cli/bundles/yarn.js install
error:                     |
error:                     |
error:                     | ===== stdout:
error:                     |
error:                     | ```
error:                     | ➤ YN0000: ┌ Resolution step
error:                     | ➤ YN0001: │ util-deprecate@git://github.com/yarnpkg/util-deprecate.git#v1.0.1: Failed listing refs
error:                     | ➤ YN0001: │   Repository URL: git://github.com/yarnpkg/util-deprecate.git
error:                     | ➤ YN0001: │   Fatal Error: remote error:
error:                     | ➤ YN0001: │   Exit Code: 128
error:                     | ➤ YN0000: └ Completed
error:                     | ➤ YN0000: Failed with errors
error:                     | ```
error:                     |
error:                     | ===== stderr:
error:                     |
error:                     | ```
error:                     | ```
error:                     |
error:                     | at ChildProcess.exithandler (../../node:child_process:387:12)
error:                     | at ChildProcess.emit (../../node:events:527:28)
error:                     | at maybeClose (../../node:internal/child_process:1090:16)
error:                     | at Socket.<anonymous> (../../node:internal/child_process:449:11)
error:                     | at Socket.emit (../../node:events:527:28)
error:                     | at Pipe.<anonymous> (../../node:net:715:12)
error:                     |
error:                     | FAIL pkg-tests-specs/sources/commands/publish.test.ts (32.461 s)
error:                     | ● publish › should fail when invalid otp is given
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 43 |   }));
error:                     | 44 |
error:                     | > 45 |   test(`should fail when invalid otp is given`,
error:                     | |   ^
error:                     | 46 |     makeTemporaryEnv({
error:                     | 47 |       name: `otp-required`,
error:                     | 48 |       version: `1.0.0`,
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/publish.test.ts:45:3)
error:                     |
error:                     | FAIL pkg-tests-specs/sources/commands/npm/login.test.js (180.828 s)
error:                     | ● Commands › npm login › it should login a user with no OTP setup
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 13 | describe(`Commands`, () => {
error:                     | 14 |   describe(`npm login`, () => {
error:                     | > 15 |     test(
error:                     | |     ^
error:                     | 16 |       `it should login a user with no OTP setup`,
error:                     | 17 |       makeTemporaryEnv({}, async ({path, run, source}) => {
error:                     | 18 |         const homePath = await createTemporaryFolder();
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/npm/login.test.js:15:5)
error:                     |
error:                     | ● Commands › npm login › it should login a user with OTP setup
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 45 |     );
error:                     | 46 |
error:                     | > 47 |     test(
error:                     | |     ^
error:                     | 48 |       `it should login a user with OTP setup`,
error:                     | 49 |       makeTemporaryEnv({}, async ({path, run, source}) => {
error:                     | 50 |         const homePath = await createTemporaryFolder();
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/npm/login.test.js:47:5)
error:                     |
error:                     | ● Commands › npm login › it should throw an error when credentials are incorrect
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 79 |     );
error:                     | 80 |
error:                     | > 81 |     test(
error:                     | |     ^
error:                     | 82 |       `it should throw an error when credentials are incorrect`,
error:                     | 83 |       makeTemporaryEnv({}, async ({path, run, source}) => {
error:                     | 84 |         await expect(
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/npm/login.test.js:81:5)
error:                     |
error:                     | ● Commands › npm login › it should throw an error with incorrect OTP
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 93 |     );
error:                     | 94 |
error:                     | > 95 |     test(
error:                     | |     ^
error:                     | 96 |       `it should throw an error with incorrect OTP`,
error:                     | 97 |       makeTemporaryEnv({}, async ({path, run, source}) => {
error:                     | 98 |         await expect(
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/npm/login.test.js:95:5)
error:                     |
error:                     | ● Commands › npm login › it should login a user with no OTP setup to a specific scope
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 108 |     );
error:                     | 109 |
error:                     | > 110 |     test(
error:                     | |     ^
error:                     | 111 |       `it should login a user with no OTP setup to a specific scope`,
error:                     | 112 |       makeTemporaryEnv({}, async ({path, run, source}) => {
error:                     | 113 |         const url = await startPackageServer();
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/npm/login.test.js:110:5)
error:                     |
error:                     | ● Commands › npm login › it should login a user with OTP to a specific scope
error:                     |
error:                     | : Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 30000 ms timeout specified by jest.setTimeout.Error:
error:                     |
error:                     | 146 |     );
error:                     | 147 |
error:                     | > 148 |     test(
error:                     | |     ^
error:                     | 149 |       `it should login a user with OTP to a specific scope`,
error:                     | 150 |       makeTemporaryEnv({}, async ({path, run, source}) => {
error:                     | 151 |         const url = await startPackageServer();
error:                     |
error:                     | at new Spec (../../.yarn/cache/jest-jasmine2-npm-26.0.1-dd95eff5fe-d2ad1ec4aa.zip/node_modules/jest-jasmine2/build/jasmine/Spec.js:116:22)
error:                     | at Suite.<anonymous> (pkg-tests-specs/sources/commands/npm/login.test.js:148:5)
error:                     |
error:                     |
error:                     | Snapshot Summary
error:                     | › 1 snapshot written from 1 test suite.
error:                     |
error:                     | Test Suites: 3 failed, 1 skipped, 87 passed, 90 of 91 total
error: error:              | Tests:       8 failed, 27 skipped, 1143 passed, 1178 total
error:                     | Snapshots:   1 written, 288 passed, 289 total
error:                     | Time:        312.566 s
error:                     | Ran all test suites.
error: done                | The smoke test has failed.
info: duration            | test duration: 394044ms

targos avatar May 13 '22 09:05 targos

I don't know why the output is cut. Rerunning with a wider terminal... Edit: updated

targos avatar May 13 '22 09:05 targos

Most (all?) of the fails seem to be around timeouts - perhaps it'd be reasonable to just ignore tests that timeout? 🤔 ~10 tests skipped over almost 1200 is already a good improvement over the existing.

arcanis avatar May 18 '22 14:05 arcanis

@arcanis reasonable. Let me turn on the flaky field for all machines

edvardchen avatar May 19 '22 07:05 edvardchen

@targos do you mind giving it another CI round?

edvardchen avatar May 24 '22 02:05 edvardchen

https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker-pipeline/157/console

targos avatar May 24 '22 04:05 targos

  1. Another frequent error we might be able to improve is that git on the testing machine like debian9-64 or debian9-64 didn't support option --ignore-cr-at-eol. Is there any way to know the git version and how we can update it?
  2. It seemed fail to build Node.js itself on ubuntu1804-64

edvardchen avatar May 24 '22 08:05 edvardchen

CI: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker-pipeline/158/

targos avatar May 25 '22 05:05 targos

I think we need to skip Windows too. Snapshot tests are failing, probably because of CRLF.

targos avatar May 25 '22 05:05 targos

I think we need to skip Windows too. Snapshot tests are failing, probably because of CRLF.

not only windows.

That test case uses --ignore-cr-at-eol to ignore carriage-return differences. But the git client on some machine like debian9-64 or debian9-64 doesn't support this option. Not sure if the option works on wirndows . Maybe we can upgrade the git version and test it out.

edvardchen avatar May 25 '22 06:05 edvardchen

@targos hi, no mean to push you, but is there any concern about upgrading the git client to a version that support --ignore-cr-at-eol?

edvardchen avatar May 31 '22 15:05 edvardchen

I'm not involved with our testing infrastructure. This is handled by the Build WG: https://github.com/nodejs/build

targos avatar May 31 '22 15:05 targos

For things like git we generally use the package from the OS's package repository.

richardlau avatar May 31 '22 15:05 richardlau

I think there are 2 approaches we can try at yarn side

  1. make the diffFolders compatible for those git versions that don't support --ignore-cr-at-eol
  2. Or, ignore the diffFolders.test.ts (when some env var is enabled)

@arcanis how do you think?

edvardchen avatar May 31 '22 15:05 edvardchen

I think we can disable this test - but rather than add it to Yarn, we can use --testPathIgnorePatterns

arcanis avatar May 31 '22 15:05 arcanis