renovatebot / renovate

Home of the Renovate CLI: Cross-platform Dependency Automation by Mend.io
https://mend.io/renovate
GNU Affero General Public License v3.0
17.55k stars 2.3k forks source link

pnpm-lock.yaml not changing #10223

Closed cyrus-za closed 3 years ago

cyrus-za commented 3 years ago

How are you running Renovate?

If using the hosted app, please skip to the next section. Otherwise, if self-hosted, please complete the following:

Please select which platform you are using:

Renovate version: ...

Describe the bug

Lockfile not updating when using pnpm. It used to work but stopped for some unknown reason

Relevant debug logs

Click me to see logs image Logs at: https://app.renovatebot.com/dashboard#github/invisible-tech/invisible/365144494 Copied parts that I believe a relevant below. ```sh DEBUG: Found renovate.json config file DEBUG: Repository config { "fileName": "renovate.json", "config": { "extends": [ "config:base" ], "labels": [ "dependencies" ], "compatibility": { "pnpm": "^6.0.0" }, "postUpgradeTasks": { "commands": [ "pnpm install" ], "fileFilters": [ "pnpm-lock.yaml" ] }, "rangeStrategy": "auto", "automerge": true, "major": { "automerge": false }, "prConcurrentLimit": 3, "npmToken": "***********", "packageRules": [ { "packagePatterns": [ "eslint" ], "labels": [ "linting" ] } ] } } DEBUG: migrateAndValidate() DEBUG: Config migration necessary { "oldConfig": { "extends": [ "github>whitesource/merge-confidence:beta", "config:base" ], "labels": [ "dependencies" ], "compatibility": { "pnpm": "^6.0.0" }, "postUpgradeTasks": { "commands": [ "pnpm install" ], "fileFilters": [ "pnpm-lock.yaml" ] }, "rangeStrategy": "auto", "automerge": true, "major": { "automerge": false }, "prConcurrentLimit": 3, "npmToken": "***********", "packageRules": [ { "packagePatterns": [ "eslint" ], "labels": [ "linting" ] } ] }, "newConfig": { "extends": [ "github>whitesource/merge-confidence:beta", "config:base" ], "labels": [ "dependencies" ], "postUpgradeTasks": { "commands": [ "pnpm install" ], "fileFilters": [ "pnpm-lock.yaml" ] }, "rangeStrategy": "auto", "automerge": true, "major": { "automerge": false }, "prConcurrentLimit": 3, "npmToken": "***********", "packageRules": [ { "labels": [ "linting" ], "matchPackagePatterns": [ "eslint" ] } ], "constraints": { "pnpm": "^6.0.0" } } } DEBUG: massaged config { "config": { "extends": [ "github>whitesource/merge-confidence:beta", "config:base" ], "labels": [ "dependencies" ], "postUpgradeTasks": { "commands": [ "pnpm install" ], "fileFilters": [ "pnpm-lock.yaml" ] }, "rangeStrategy": "auto", "automerge": true, "major": { "automerge": false }, "prConcurrentLimit": 3, "packageRules": [ { "labels": [ "linting" ], "matchPackagePatterns": [ "eslint" ] } ], "constraints": { "pnpm": "^6.0.0" }, "npmrc": "***********" } } DEBUG: migrated config { "config": { "extends": [ "github>whitesource/merge-confidence:beta", "config:base" ], "labels": [ "dependencies" ], "postUpgradeTasks": { "commands": [ "pnpm install" ], "fileFilters": [ "pnpm-lock.yaml" ] }, "rangeStrategy": "auto", "automerge": true, "major": { "automerge": false }, "prConcurrentLimit": 3, "packageRules": [ { "labels": [ "linting" ], "matchPackagePatterns": [ "eslint" ] } ], "constraints": { "pnpm": "^6.0.0" }, "npmrc": "***********" } } DEBUG: Found npmrc in decrypted config - setting DEBUG: Setting npmrc DEBUG: Ignoring any .npmrc files in repository due to configured npmrc DEBUG: Setting hostRules from config DEBUG: Found repo ignorePaths { "ignorePaths": [ "**/node_modules/**", "**/bower_components/**", "**/vendor/**", "**/examples/**", "**/__tests__/**", "**/test/**", "**/tests/**", "**/__fixtures__/**" ] } ``` ```sh DEBUG: npm file package.json has name "invisible" DEBUG: Repo .npmrc file is ignored due to presence of config.npmrc { "npmrcFileName": ".npmrc" } DEBUG: Detecting pnpm Workspaces DEBUG: Detecting Lerna and Yarn Workspaces DEBUG: Finding locked versions DEBUG: TODO: implement pnpm-lock.yaml parsing of lockVersion DEBUG: TODO: implement pnpm-lock.yaml parsing of lockVersion DEBUG: Found docker-compose package files DEBUG: Found github-actions package files DEBUG: Found npm package files DEBUG: Found 11 package file(s) INFO: Dependency extraction complete { "baseBranch": "master", "stats": { "managers": { "docker-compose": { "fileCount": 1, "depCount": 1 }, "github-actions": { "fileCount": 8, "depCount": 56 }, "npm": { "fileCount": 2, "depCount": 169 } }, "total": { "fileCount": 11, "depCount": 226 } } } ``` ```sh "packageJsonName": "invisible", "packageFileVersion": "0.0.0", "packageJsonType": "app", "pnpmShrinkwrap": "pnpm-lock.yaml", "managerData": {}, "skipInstalls": true, "constraints": { "node": "14.x" }, "lockFiles": [ "pnpm-lock.yaml" ] } ] } } ``` ```sh DEBUG: pnpm command(branch="renovate/babel-monorepo") { "cmd": "pnpm", "args": "install --recursive --lockfile-only --ignore-scripts --ignore-pnpmfile" } DEBUG: Using docker to execute(branch="renovate/babel-monorepo") DEBUG: Found version constraint - checking for a compatible image to use(branch="renovate/babel-monorepo") { "depName": "docker.io/renovate/node", "scheme": "npm", "constraint": "14.x" } DEBUG: getLabels(https://index.docker.io, renovate/node, latest)(branch="renovate/babel-monorepo") DEBUG: Found compatible image version(branch="renovate/babel-monorepo") { "depName": "docker.io/renovate/node", "scheme": "npm", "constraint": "14.x", "version": "14.17.0" } DEBUG: Resolved tag constraint(branch="renovate/babel-monorepo") { "image": "docker.io/renovate/node", "tagConstraint": "14.x", "tagVersioning": "npm", "tag": "14.17.0" } DEBUG: Fetching Docker image: docker.io/renovate/node:14.17.0(branch="renovate/babel-monorepo") DEBUG: Finished fetching Docker image(branch="renovate/babel-monorepo") DEBUG: Executing command(branch="renovate/babel-monorepo") { "command": "docker run --rm --name=renovate_node --label=renovate_child -v \"/mnt/renovate/gh/invisible-tech/invisible\":\"/mnt/renovate/gh/invisible-tech/invisible\" -v \"/tmp/renovate-cache\":\"/tmp/renovate-cache\" -e NPM_CONFIG_CACHE -e npm_config_store -w \"/mnt/renovate/gh/invisible-tech/invisible\" docker.io/renovate/node:14.17.0 bash -l -c \"npm i -g pnpm@'^6.0.0' && pnpm install --recursive --lockfile-only --ignore-scripts --ignore-pnpmfile\"" } DEBUG: exec completed(branch="renovate/babel-monorepo") { "cmd": "docker run --rm --name=renovate_node --label=renovate_child -v \"/mnt/renovate/gh/invisible-tech/invisible\":\"/mnt/renovate/gh/invisible-tech/invisible\" -v \"/tmp/renovate-cache\":\"/tmp/renovate-cache\" -e NPM_CONFIG_CACHE -e npm_config_store -w \"/mnt/renovate/gh/invisible-tech/invisible\" docker.io/renovate/node:14.17.0 bash -l -c \"npm i -g pnpm@'^6.0.0' && pnpm install --recursive --lockfile-only --ignore-scripts --ignore-pnpmfile\"", "durationMs": 45666, "stdout": "/home/ubuntu/.npm-global/bin/pnpm -> /home/ubuntu/.npm-global/lib/node_modules/pnpm/bin/pnpm.cjs\n/home/ubuntu/.npm-global/bin/pnpx -> /home/ubuntu/.npm-global/lib/node_modules/pnpm/bin/pnpx.cjs\n+ pnpm@6.6.1\nadded 1 package in 2.107s\n WARN  The \"store\" setting has been renamed to \"store-dir\". Please use the new name.\nScope: all 2 projects\nProgress: resolved 1, reused 0, downloaded 0, added 0\nProgress: resolved 18, reused 0, downloaded 3, added 0\nProgress: resolved 27, reused 0, downloaded 13, added 0\nProgress: resolved 39, reused 0, downloaded 26, added 0\nProgress: resolved 46, reused 0, downloaded 38, added 0\nProgress: resolved 51, reused 0, downloaded 43, added 0\nProgress: resolved 55, reused 0, downloaded 47, added 0\nProgress: resolved 59, reused 0, downloaded 50, added 0\nProgress: resolved 70, reused 0, downloaded 60, added 0\nProgress: resolved 74, reused 0, downloaded 67, added 0\nProgress: resolved 75, reused 0, downloaded 68, added 0\nProgress: resolved 78, reused 0, downloaded 70, added 0\nProgress: resolved 80, reused 0, downloaded 71, added 0\nProgress: resolved 82, reused 0, downloaded 72, added 0\nProgress: resolved 86, reused 0, downloaded 76, added 0\nProgress: resolved 91, reused 0, downloaded 82, added 0\nProgress: resolved 94, reused 0, downloaded 84, added 0\n. |  WARN  deprecated document-register-element@1.14.10\nProgress: resolved 95, reused 0, downloaded 90, added 0\nProgress: resolved 97, reused 0, downloaded 90, added 0\nProgress: resolved 100, reused 0, downloaded 92, added 0\nProgress: resolved 102, reused 0, downloaded 96, added 0\nProgress: resolved 102, reused 0, downloaded 97, added 0\nProgress: resolved 106, reused 0, downloaded 97, added 0\nProgress: resolved 114, reused 0, downloaded 104, added 0\nProgress: resolved 119, reused 0, downloaded 112, added 0\nProgress: resolved 125, reused 0, downloaded 116, added 0\nProgress: resolved 134, reused 0, downloaded 123, added 0\nProgress: resolved 144, reused 0, downloaded 134, added 0\nProgress: resolved 151, reused 0, downloaded 140, added 0\nProgress: resolved 158, reused 0, downloaded 149, added 0\nProgress: resolved 160, reused 0, downloaded 156, added 0\nProgress: resolved 161, reused 0, downloaded 156, added 0\nProgress: resolved 162, reused 0, downloaded 158, added 0\nProgress: resolved 162, reused 0, downloaded 159, added 0\n", "stderr": "" } DEBUG: pnpm-lock.yaml hasn't changed(branch="renovate/babel-monorepo") DEBUG: No updated lock files in branch(branch="renovate/babel-monorepo") DEBUG: 1 file(s) to commit(branch="renovate/babel-monorepo") DEBUG: Committing files to branch renovate/babel-monorepo(branch="renovate/babel-monorepo") DEBUG: git commit(branch="renovate/babel-monorepo") { "result": { "author": null, "branch": "renovate/babel-monorepo", "commit": "89909ae", "root": false, "summary": { "changes": 1, "insertions": 1, "deletions": 0 } } } ``` ```sh DEBUG: Getting updated lock files(branch="renovate/google-cloud-firestore-4.x") DEBUG: Writing package.json files(branch="renovate/google-cloud-firestore-4.x") { "packageFiles": [ "libs/ui/package.json", "package.json" ] } DEBUG: pnpm command { "cmd": "pnpm", "args": "install --recursive --lockfile-only --ignore-scripts --ignore-pnpmfile" } ```

Have you created a minimal reproduction repository?

Please read the minimal reproductions documentation to learn how to make a good minimal reproduction repository.

I am not sure if I can reproduce it. I tried creating a new repo with the exact same config and it works there, so I am thinking its got to do with some cached data in the system.

A user who is running into a similar issue has created this reproduction repo: https://github.com/AtomLinter/linter-eslint which may or may not have the same cause of the symptom

Additional context

As mentioned above, this used to work. I am not sure what changed. I did recently update the renovate.json config to have pinned dependencies. Maybe that's causing a problem? I also see in the logs that the command renovate runs is pnpm install --recursive --lockfile-only --ignore-scripts --ignore-pnpmfile

I am not sure what lockfile-only or ignore-pnpmfile is meant to do. As per the logs it says there are no changes to the logfile after running the command, which is super strange because if I check out a branch created by renovatebot (with just package.json changed) and I run the above command, my lockfile DOES change considerably.

Locally running macos with Big Sur (11.2.2)

pnpm -v 
6.4.0

node -v
v14.14.0
HonkingGoose commented 3 years ago

@viceice @rarkins Can you check if this is duplicating issue #8323? It seems related, but maybe there's a subtle difference that I'm missing... 😄

rarkins commented 3 years ago

In absence of a minimal reproduction repo, let's treat this as a duplicate.

rarkins commented 3 years ago

Duplicate of #8323