Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mikestreety/renovate-composer-update-minimal-reproduction-23404

Minimal repoduction for https://github.com/renovatebot/renovate/discussions/23404
https://github.com/mikestreety/renovate-composer-update-minimal-reproduction-23404

Last synced: 27 days ago
JSON representation

Minimal repoduction for https://github.com/renovatebot/renovate/discussions/23404

Awesome Lists containing this project

README

        

# Minimal Reproduction for https://github.com/renovatebot/renovate/discussions/23404

This is run on Gitlab

## Issue

If a dependency needs to be updated in the main `composer.json` along with a sub-`composer.json` Renovate runs a `composer update` for each `composer.json` which errors as it conflicts with the lock file.

This is the table for the current package (as generated by Renovate):

| Package | Type | Update | Change |
|---|---|---|---|
| [blueways/bw-captcha](https://github.com/maikschneider/bw_captcha) | require | minor | `1.1.4` -> `1.3.0` |
| [sypets/brofix](https://github.com/sypets/brofix) | require | minor | `3.1.0` -> `3.2.2` |
| [yoast-seo-for-typo3/yoast_seo](https://yoast.com) ([source](https://github.com/Yoast/Yoast-SEO-for-TYPO3)) | require | minor | `8.2.0` -> `8.3.1` |

## Error

The error generated is:

##### File name: composer.lock

```
Command failed: composer update blueways/bw-captcha:1.3.0 yoast-seo-for-typo3/yoast_seo:8.3.1 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins
Loading composer repositories with package information
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Root composer.json requires app/package @dev -> satisfiable by app/package[dev-main].
- app/package dev-main requires sypets/brofix 3.2.2 -> found sypets/brofix[v3.2.2] but the package is fixed to v3.1.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

```

You can see the `composer update` does **not** include `sypets/brofix`

Logs

```
> [email protected] renovate-debug
> LOG_LEVEL=debug renovate ll/testrenovate

DEBUG: Using RE2 as regex engine
DEBUG: Parsing configs
DEBUG: Checking for config file in /Users/mike/Sites/renovate/config.js
DEBUG: Converting GITHUB_COM_TOKEN into a global host rule
DEBUG: File config
"config": {
"extends": [
":ignoreModulesAndTests",
"group:monorepos",
"group:recommended",
"workarounds:all"
],
"major": {"enabled": false},
"packageRules": [
{
"groupName": "Composer dependencies",
"matchManagers": ["composer"],
"matchUpdateTypes": ["minor", "patch"],
"addLabels": ["composer"],
"semanticCommitScope": "composer"
},
{
"matchManagers": ["composer"],
"matchUpdateTypes": ["patch"],
"groupSlug": "composer-patch"
},
{
"matchManagers": ["composer"],
"matchUpdateTypes": ["minor"],
"groupSlug": "composer-minor"
}
],
"platform": "gitlab",
"endpoint": "https://gitlab.selfhosted.com/api/v4//",
"token": "***********",
"enabledManagers": ["composer"]
}
DEBUG: CLI config
"config": {"repositories": ["ll/testrenovate"]}
DEBUG: Env config
"config": {
"hostRules": [
{"hostType": "github", "matchHost": "github.com", "token": "***********"}
]
}
DEBUG: Combined config
"config": {
"extends": [
":ignoreModulesAndTests",
"group:monorepos",
"group:recommended",
"workarounds:all"
],
"major": {"enabled": false},
"packageRules": [
{
"groupName": "Composer dependencies",
"matchManagers": ["composer"],
"matchUpdateTypes": ["minor", "patch"],
"addLabels": ["composer"],
"semanticCommitScope": "composer"
},
{
"matchManagers": ["composer"],
"matchUpdateTypes": ["patch"],
"groupSlug": "composer-patch"
},
{
"matchManagers": ["composer"],
"matchUpdateTypes": ["minor"],
"groupSlug": "composer-minor"
}
],
"platform": "gitlab",
"endpoint": "https://gitlab.selfhosted.com/api/v4//",
"token": "***********",
"enabledManagers": ["composer"],
"hostRules": [
{"hostType": "github", "matchHost": "github.com", "token": "***********"}
],
"repositories": ["ll/testrenovate"]
}
DEBUG: Adding trailing slash to endpoint
DEBUG: Enabling forkProcessing while in non-autodiscover mode
DEBUG: Found valid git version: 2.39.2
DEBUG: GitLab version is: 16.3.3
DEBUG: Using platform gitAuthor: 🤖 RenovateBot
DEBUG: Adding token authentication for gitlab.selfhosted.com to hostRules
DEBUG: Using baseDir: /var/folders/1k/84znrvz53j1g1h68ctbbkvpr0000gn/T/renovate
DEBUG: Using cacheDir: /var/folders/1k/84znrvz53j1g1h68ctbbkvpr0000gn/T/renovate/cache
DEBUG: Using containerbaseDir: /var/folders/1k/84znrvz53j1g1h68ctbbkvpr0000gn/T/renovate/cache/containerbase
DEBUG: Initializing Renovate internal cache into /var/folders/1k/84znrvz53j1g1h68ctbbkvpr0000gn/T/renovate/cache/renovate/renovate-cache-v1
DEBUG: Commits limit = null
DEBUG: Setting global hostRules
DEBUG: Adding token authentication for github.com to hostRules
DEBUG: Adding token authentication for gitlab.selfhosted.com to hostRules
DEBUG: validatePresets()
DEBUG: Reinitializing hostRules for repo
DEBUG: Clearing hostRules
DEBUG: Adding token authentication for github.com to hostRules
DEBUG: Adding token authentication for gitlab.selfhosted.com to hostRules
INFO: Repository started (repository=ll/testrenovate)
"renovateVersion": "36.94.1"
DEBUG: Using localDir: /var/folders/1k/84znrvz53j1g1h68ctbbkvpr0000gn/T/renovate/repos/gitlab/ll/testrenovate (repository=ll/testrenovate)
DEBUG: PackageFiles.clear() - Package files deleted (repository=ll/testrenovate)
DEBUG: ll/testrenovate default branch = main (repository=ll/testrenovate)
DEBUG: Enabling Git FS (repository=ll/testrenovate)
DEBUG: Using http URL: https://gitlab.selfhosted.com/ll/testrenovate.git (repository=ll/testrenovate)
DEBUG: Resetting npmrc (repository=ll/testrenovate)
DEBUG: Resetting npmrc (repository=ll/testrenovate)
DEBUG: checkOnboarding() (repository=ll/testrenovate)
DEBUG: isOnboarded() (repository=ll/testrenovate)
DEBUG: findPr(renovate/configure, Configure Renovate, !open) (repository=ll/testrenovate)
DEBUG: findFile(renovate.json) (repository=ll/testrenovate)
DEBUG: Initializing git repository into /var/folders/1k/84znrvz53j1g1h68ctbbkvpr0000gn/T/renovate/repos/gitlab/ll/testrenovate (repository=ll/testrenovate)
DEBUG: Performing blobless clone (repository=ll/testrenovate)
DEBUG: git clone completed (repository=ll/testrenovate)
"durationMs": 1210
DEBUG: latest repository commit (repository=ll/testrenovate)
"latestCommit": {
"hash": "af75882a977a820518e9a0221396ecbcba883fcb",
"date": "2023-09-18T17:02:34+01:00",
"message": "build(composer): update dependency typo3/cms-core to v10.4.37 [patch]",
"refs": "HEAD -> main, origin/main, origin/HEAD",
"body": "| datasource | package | from | to |\n| ---------- | -------------- | ------- | ------- |\n| packagist | typo3/cms-core | 10.4.24 | 10.4.37 |\n",
"author_name": "RenovateBot",
"author_email": "[email protected]"
}
DEBUG: Config file exists, fileName: renovate.json (repository=ll/testrenovate)
DEBUG: ensureIssueClosing() (repository=ll/testrenovate)
DEBUG: Repo is onboarded (repository=ll/testrenovate)
DEBUG: Found renovate.json config file (repository=ll/testrenovate)
DEBUG: Repository config (repository=ll/testrenovate)
"fileName": "renovate.json",
"config": {"$schema": "https://docs.renovatebot.com/renovate-schema.json"}
DEBUG: migrateAndValidate() (repository=ll/testrenovate)
DEBUG: No config migration necessary (repository=ll/testrenovate)
DEBUG: Setting hostRules from config (repository=ll/testrenovate)
DEBUG: Found repo ignorePaths (repository=ll/testrenovate)
"ignorePaths": [
"**/node_modules/**",
"**/bower_components/**",
"**/vendor/**",
"**/examples/**",
"**/__tests__/**",
"**/test/**",
"**/tests/**",
"**/__fixtures__/**"
]
DEBUG: No vulnerability alerts found (repository=ll/testrenovate)
DEBUG: No baseBranches (repository=ll/testrenovate)
DEBUG: extract() (repository=ll/testrenovate)
DEBUG: Setting current branch to main (repository=ll/testrenovate)
DEBUG: latest commit (repository=ll/testrenovate)
"branchName": "main",
"latestCommitDate": "2023-09-18T17:02:34+01:00"
DEBUG: Applying enabledManagers filtering (repository=ll/testrenovate)
DEBUG: Using file match: (^|/)([\w-]*)composer\.json$ for manager composer (repository=ll/testrenovate)
DEBUG: Matched 2 file(s) for manager composer: app/package/composer.json, composer.json (repository=ll/testrenovate)
DEBUG: manager extract durations (ms) (repository=ll/testrenovate)
"managers": {"composer": 6}
DEBUG: Found composer package files (repository=ll/testrenovate)
DEBUG: Found 2 package file(s) (repository=ll/testrenovate)
INFO: Dependency extraction complete (repository=ll/testrenovate, baseBranch=main)
"stats": {
"managers": {"composer": {"fileCount": 2, "depCount": 5}},
"total": {"fileCount": 2, "depCount": 5}
}
DEBUG: Dependency app/package has unsupported/unversioned value @dev (versioning=composer) (repository=ll/testrenovate)
DEBUG: PackageFiles.add() - Package file saved for base branch (repository=ll/testrenovate, baseBranch=main)
DEBUG: Package releases lookups complete (repository=ll/testrenovate, baseBranch=main)
DEBUG: branchifyUpgrades (repository=ll/testrenovate)
DEBUG: detectSemanticCommits() (repository=ll/testrenovate)
DEBUG: getCommitMessages (repository=ll/testrenovate)
DEBUG: semanticCommits: detected "angular" (repository=ll/testrenovate)
DEBUG: semanticCommits: enabled (repository=ll/testrenovate)
DEBUG: 3 flattened updates found: sypets/brofix, yoast-seo-for-typo3/yoast_seo, blueways/bw-captcha (repository=ll/testrenovate)
DEBUG: Returning 1 branch(es) (repository=ll/testrenovate)
DEBUG: config.repoIsOnboarded=true (repository=ll/testrenovate)
DEBUG: packageFiles with updates (repository=ll/testrenovate, baseBranch=main)
"config": {
"composer": [
{
"deps": [
{
"depType": "require",
"depName": "sypets/brofix",
"currentValue": "3.1.0",
"datasource": "packagist",
"updates": [
{
"bucket": "non-major",
"newVersion": "3.2.2",
"newValue": "3.2.2",
"releaseTimestamp": "2022-05-28T07:48:43.000Z",
"newMajor": 3,
"newMinor": 2,
"updateType": "minor",
"branchName": "renovate/composer-minor"
},
{
"bucket": "major",
"newVersion": "5.0.1",
"newValue": "5.0.1",
"releaseTimestamp": "2023-09-16T08:24:56.000Z",
"newMajor": 5,
"newMinor": 0,
"updateType": "major",
"branchName": "renovate/sypets-brofix-5.x"
}
],
"packageName": "sypets/brofix",
"versioning": "composer",
"warnings": [],
"sourceUrl": "https://github.com/sypets/brofix",
"registryUrl": "https://packagist.org",
"currentVersion": "3.1.0",
"isSingleVersion": true,
"fixedVersion": "3.1.0"
},
{
"depType": "require",
"depName": "typo3/cms-core",
"currentValue": "10.4.37",
"datasource": "packagist",
"updates": [
{
"bucket": "major",
"newVersion": "12.4.6",
"newValue": "12.4.6",
"releaseTimestamp": "2023-09-12T06:54:01.000Z",
"newMajor": 12,
"newMinor": 4,
"updateType": "major",
"branchName": "renovate/typo3-cms-core-12.x"
}
],
"packageName": "typo3/cms-core",
"versioning": "composer",
"warnings": [],
"sourceUrl": "https://github.com/TYPO3-CMS/core",
"registryUrl": "https://packagist.org",
"homepage": "https://typo3.org",
"currentVersion": "10.4.37",
"isSingleVersion": true,
"fixedVersion": "10.4.37"
}
],
"managerData": {"composerJsonType": "library"},
"packageFile": "app/package/composer.json"
},
{
"deps": [
{
"depType": "require",
"depName": "app/package",
"currentValue": "@dev",
"datasource": "packagist",
"updates": [],
"packageName": "app/package",
"versioning": "composer",
"warnings": [],
"skipReason": "invalid-value"
},
{
"depType": "require",
"depName": "yoast-seo-for-typo3/yoast_seo",
"currentValue": "8.2.0",
"lockedVersion": "8.2.0",
"datasource": "packagist",
"updates": [
{
"bucket": "non-major",
"newVersion": "8.3.1",
"newValue": "8.3.1",
"releaseTimestamp": "2022-08-03T09:43:46.000Z",
"newMajor": 8,
"newMinor": 3,
"updateType": "minor",
"branchName": "renovate/composer-minor"
},
{
"bucket": "major",
"newVersion": "9.0.2",
"newValue": "9.0.2",
"releaseTimestamp": "2023-09-18T09:54:37.000Z",
"newMajor": 9,
"newMinor": 0,
"updateType": "major",
"branchName": "renovate/yoast-seo-for-typo3-yoast_seo-9.x"
}
],
"packageName": "yoast-seo-for-typo3/yoast_seo",
"versioning": "composer",
"warnings": [],
"sourceUrl": "https://github.com/Yoast/Yoast-SEO-for-TYPO3",
"registryUrl": "https://packagist.org",
"homepage": "https://yoast.com",
"currentVersion": "8.2.0",
"isSingleVersion": true,
"fixedVersion": "8.2.0"
},
{
"depType": "require",
"depName": "blueways/bw-captcha",
"currentValue": "1.1.4",
"lockedVersion": "1.1.4",
"datasource": "packagist",
"updates": [
{
"bucket": "non-major",
"newVersion": "1.3.0",
"newValue": "1.3.0",
"releaseTimestamp": "2022-10-22T18:30:14.000Z",
"newMajor": 1,
"newMinor": 3,
"updateType": "minor",
"branchName": "renovate/composer-minor"
},
{
"bucket": "major",
"newVersion": "3.1.0",
"newValue": "3.1.0",
"releaseTimestamp": "2023-09-17T14:14:45.000Z",
"newMajor": 3,
"newMinor": 1,
"updateType": "major",
"branchName": "renovate/blueways-bw-captcha-3.x"
}
],
"packageName": "blueways/bw-captcha",
"versioning": "composer",
"warnings": [],
"sourceUrl": "https://github.com/maikschneider/bw_captcha",
"registryUrl": "https://packagist.org",
"currentVersion": "1.1.4",
"isSingleVersion": true,
"fixedVersion": "1.1.4"
}
],
"managerData": {"composerJsonType": "project"},
"lockFiles": ["composer.lock"],
"packageFile": "composer.json"
}
]
}
DEBUG: detectSemanticCommits() (repository=ll/testrenovate)
DEBUG: semanticCommits: returning "enabled" from cache (repository=ll/testrenovate)
DEBUG: processRepo() (repository=ll/testrenovate)
DEBUG: Processing 1 branch: renovate/composer-minor (repository=ll/testrenovate)
DEBUG: Calculating hourly PRs remaining (repository=ll/testrenovate)
DEBUG: currentHourStart=2023-09-18T17:00:00.000+01:00 (repository=ll/testrenovate)
DEBUG: PR hourly limit remaining: 2 (repository=ll/testrenovate)
DEBUG: Calculating prConcurrentLimit (10) (repository=ll/testrenovate)
DEBUG: getBranchPr(renovate/composer-minor) (repository=ll/testrenovate)
DEBUG: findPr(renovate/composer-minor, undefined, open) (repository=ll/testrenovate)
DEBUG: getPr(7) (repository=ll/testrenovate)
DEBUG: getMR(7) (repository=ll/testrenovate)
DEBUG: 1 PRs are currently open (repository=ll/testrenovate)
DEBUG: PR concurrent limit remaining: 9 (repository=ll/testrenovate)
DEBUG: Calculated maximum PRs remaining this run: 2 (repository=ll/testrenovate)
DEBUG: PullRequests limit = 2 (repository=ll/testrenovate)
DEBUG: Calculating hourly PRs remaining (repository=ll/testrenovate)
DEBUG: currentHourStart=2023-09-18T17:00:00.000+01:00 (repository=ll/testrenovate)
DEBUG: PR hourly limit remaining: 2 (repository=ll/testrenovate)
DEBUG: Calculating branchConcurrentLimit (10) (repository=ll/testrenovate)
DEBUG: 1 already existing branches found: renovate/composer-minor (repository=ll/testrenovate)
DEBUG: Branch concurrent limit remaining: 9 (repository=ll/testrenovate)
DEBUG: Calculated maximum branches remaining this run: 2 (repository=ll/testrenovate)
DEBUG: Branches limit = 2 (repository=ll/testrenovate)
DEBUG: syncBranchState() (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: syncBranchState(): Branch cache not found, creating minimal branchState (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: getBranchPr(renovate/composer-minor) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: findPr(renovate/composer-minor, undefined, open) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: getPr(7) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: getMR(7) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: branchExists=true (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: dependencyDashboardCheck=undefined (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Manual rebase requested via PR checkbox for #7 (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: PR rebase requested=true (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Checking if PR has been edited (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: branch.isModified(): using git to calculate (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: branch.isModified() = false (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Found existing branch PR (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Checking schedule(at any time, null) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: No schedule defined (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: User has requested rebase (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Using reuseExistingBranch: false (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Setting current branch to main (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: latest commit (repository=ll/testrenovate, branch=renovate/composer-minor)
"branchName": "main",
"latestCommitDate": "2023-09-18T17:02:34+01:00"
DEBUG: manager.getUpdatedPackageFiles() reuseExistingBranch=false (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Starting search at index 188 (repository=ll/testrenovate, packageFile=composer.json, branch=renovate/composer-minor)
"depName": "blueways/bw-captcha"
DEBUG: Found match at index 188 (repository=ll/testrenovate, packageFile=composer.json, branch=renovate/composer-minor)
"depName": "blueways/bw-captcha"
DEBUG: Contents updated (repository=ll/testrenovate, packageFile=composer.json, branch=renovate/composer-minor)
"depName": "blueways/bw-captcha"
DEBUG: Value is not updated (repository=ll/testrenovate, packageFile=app/package/composer.json, branch=renovate/composer-minor)
"manager": "composer",
"expectedValue": "3.2.2",
"foundValue": "3.1.0"
DEBUG: Starting search at index 100 (repository=ll/testrenovate, packageFile=app/package/composer.json, branch=renovate/composer-minor)
"depName": "sypets/brofix"
DEBUG: Found match at index 100 (repository=ll/testrenovate, packageFile=app/package/composer.json, branch=renovate/composer-minor)
"depName": "sypets/brofix"
DEBUG: Contents updated (repository=ll/testrenovate, packageFile=app/package/composer.json, branch=renovate/composer-minor)
"depName": "sypets/brofix"
DEBUG: Value is not updated (repository=ll/testrenovate, packageFile=composer.json, branch=renovate/composer-minor)
"manager": "composer",
"expectedValue": "8.3.1",
"foundValue": "8.2.0"
DEBUG: Starting search at index 148 (repository=ll/testrenovate, packageFile=composer.json, branch=renovate/composer-minor)
"depName": "yoast-seo-for-typo3/yoast_seo"
DEBUG: Found match at index 148 (repository=ll/testrenovate, packageFile=composer.json, branch=renovate/composer-minor)
"depName": "yoast-seo-for-typo3/yoast_seo"
DEBUG: Contents updated (repository=ll/testrenovate, packageFile=composer.json, branch=renovate/composer-minor)
"depName": "yoast-seo-for-typo3/yoast_seo"
DEBUG: composer.updateArtifacts(composer.json) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Using php constraint from config (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Using GitHub Personal Access Token (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Setting CONTAINERBASE_CACHE_DIR to /var/folders/1k/84znrvz53j1g1h68ctbbkvpr0000gn/T/renovate/cache/containerbase (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Falling back to binarySource=global (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Executing command (repository=ll/testrenovate, branch=renovate/composer-minor)
"command": "composer update blueways/bw-captcha:1.3.0 yoast-seo-for-typo3/yoast_seo:8.3.1 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins"
DEBUG: rawExec err (repository=ll/testrenovate, branch=renovate/composer-minor)
"err": {
"cmd": "/bin/sh -c composer update blueways/bw-captcha:1.3.0 yoast-seo-for-typo3/yoast_seo:8.3.1 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins",
"stderr": "Loading composer repositories with package information\nUpdating dependencies\nYour requirements could not be resolved to an installable set of packages.\n\n Problem 1\n - Root composer.json requires app/package @dev -> satisfiable by app/package[dev-main].\n - app/package dev-main requires sypets/brofix 3.2.2 -> found sypets/brofix[v3.2.2] but the package is fixed to v3.1.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.\n\nUse the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.\n",
"stdout": "",
"options": {
"cwd": "/var/folders/1k/84znrvz53j1g1h68ctbbkvpr0000gn/T/renovate/repos/gitlab/ll/testrenovate",
"encoding": "utf-8",
"env": {
"COMPOSER_CACHE_DIR": "/var/folders/1k/84znrvz53j1g1h68ctbbkvpr0000gn/T/renovate/cache/others/composer",
"COMPOSER_AUTH": "{\"gitlab-domains\": [\"gitlab.selfhosted.com\"],\"gitlab-token\": {\"gitlab.selfhosted.com\": \"glpat-Nyu51ZmJUgmrE7Zkegs7\"}}",
"HOME": "/Users/mike",
"PATH": "/Users/mike/Sites/renovate/node_modules/.bin:/Users/mike/Sites/node_modules/.bin:/Users/mike/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/opt/homebrew/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/mike/.local/bin:/Users/mike/.docker/bin:/opt/homebrew/opt/[email protected]/sbin:/opt/homebrew/opt/[email protected]/bin:/opt/homebrew/opt/[email protected]/sbin:/opt/homebrew/opt/[email protected]/bin:/Users/mike/.orbstack/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Users/mike/.local/bin:/Users/mike/.docker/bin:/opt/homebrew/opt/[email protected]/sbin:/opt/homebrew/opt/[email protected]/bin:/Users/mike/.orbstack/bin:/opt/homebrew/bin:/opt/homebrew/sbin",
"LANG": "en_US.UTF-8",
"CONTAINERBASE_CACHE_DIR": "/var/folders/1k/84znrvz53j1g1h68ctbbkvpr0000gn/T/renovate/cache/containerbase"
},
"maxBuffer": 10485760,
"timeout": 900000
},
"exitCode": 2,
"name": "ExecError",
"message": "Command failed: composer update blueways/bw-captcha:1.3.0 yoast-seo-for-typo3/yoast_seo:8.3.1 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins\nLoading composer repositories with package information\nUpdating dependencies\nYour requirements could not be resolved to an installable set of packages.\n\n Problem 1\n - Root composer.json requires app/package @dev -> satisfiable by app/package[dev-main].\n - app/package dev-main requires sypets/brofix 3.2.2 -> found sypets/brofix[v3.2.2] but the package is fixed to v3.1.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.\n\nUse the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.\n",
"stack": "ExecError: Command failed: composer update blueways/bw-captcha:1.3.0 yoast-seo-for-typo3/yoast_seo:8.3.1 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins\nLoading composer repositories with package information\nUpdating dependencies\nYour requirements could not be resolved to an installable set of packages.\n\n Problem 1\n - Root composer.json requires app/package @dev -> satisfiable by app/package[dev-main].\n - app/package dev-main requires sypets/brofix 3.2.2 -> found sypets/brofix[v3.2.2] but the package is fixed to v3.1.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.\n\nUse the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.\n\n at ChildProcess. (/Users/mike/Sites/renovate/node_modules/renovate/lib/util/exec/common.ts:99:11)\n at ChildProcess.emit (node:events:523:35)\n at ChildProcess.emit (node:domain:489:12)\n at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12)"
},
"durationMs": 1932
INFO: Composer requirements cannot be resolved (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: composer.updateArtifacts(app/package/composer.json) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Composer: unable to read lockfile (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Updated 2 package files (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: No updated lock files in branch (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Branch timestamp: 2022-10-22T18:30:14.000Z (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: PR is older than 2 hours, raise PR with lock file errors (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: isBranchConflicted(main, renovate/composer-minor) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: branch.isConflicted(): using git to calculate (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Setting git author name: 🤖 RenovateBot (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Setting git author email: [email protected] (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: branch.isConflicted(): false (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: 2 file(s) to commit (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Preparing files for committing to branch renovate/composer-minor (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: git commit (repository=ll/testrenovate, branch=renovate/composer-minor)
"deletedFiles": [],
"ignoredFiles": [],
"result": {
"author": null,
"branch": "renovate/composer-minor",
"commit": "476ac6c7770fbe0413747daf4ff493c8fb9dd781",
"root": false,
"summary": {"changes": 2, "insertions": 3, "deletions": 3}
}
DEBUG: Pushing refSpec renovate/composer-minor:renovate/composer-minor (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: git push (repository=ll/testrenovate, branch=renovate/composer-minor)
"result": {
"pushed": [],
"ref": {"local": "refs/remotes/origin/renovate/composer-minor"},
"remoteMessages": {
"all": [
"View merge request for renovate/composer-minor:",
"https://gitlab.selfhosted.com/ll/testrenovate/-/merge_requests/7"
]
}
}
DEBUG: Setting current branch to main (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: latest commit (repository=ll/testrenovate, branch=renovate/composer-minor)
"branchName": "main",
"latestCommitDate": "2023-09-18T17:02:34+01:00"
INFO: Branch updated (repository=ll/testrenovate, branch=renovate/composer-minor)
"commitSha": "476ac6c7770fbe0413747daf4ff493c8fb9dd781"
DEBUG: Got res with 0 results (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Updating status check state to failed (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Ensuring PR (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: There are 0 errors and 0 warnings (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: getBranchPr(renovate/composer-minor) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: findPr(renovate/composer-minor, undefined, open) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: getPr(7) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: getMR(7) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: getPrCache() (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Found existing PR (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: PR rebase requested, so skipping cache check (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Forcing PR because of artifact errors (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Fetching changelog: https://github.com/maikschneider/bw_captcha (1.1.4 -> 1.3.0) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Fetching changelog: https://github.com/sypets/brofix (3.1.0 -> 3.2.2) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Fetching changelog: https://github.com/Yoast/Yoast-SEO-for-TYPO3 (8.2.0 -> 8.3.1) (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Processing existing PR (repository=ll/testrenovate, branch=renovate/composer-minor)
INFO: PR updated (repository=ll/testrenovate, branch=renovate/composer-minor)
"pr": 7,
"prTitle": "chore(composer): update composer dependencies"
DEBUG: setPrCache() (repository=ll/testrenovate, branch=renovate/composer-minor)
WARN: artifactErrors (repository=ll/testrenovate, branch=renovate/composer-minor)
"artifactErrors": [
{
"lockFile": "composer.lock",
"stderr": "Command failed: composer update blueways/bw-captcha:1.3.0 yoast-seo-for-typo3/yoast_seo:8.3.1 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins\nLoading composer repositories with package information\nUpdating dependencies\nYour requirements could not be resolved to an installable set of packages.\n\n Problem 1\n - Root composer.json requires app/package @dev -> satisfiable by app/package[dev-main].\n - app/package dev-main requires sypets/brofix 3.2.2 -> found sypets/brofix[v3.2.2] but the package is fixed to v3.1.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.\n\nUse the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.\n"
}
]
DEBUG: Getting comments for #7 (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Found 23 comments (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Ensuring comment "âš  Artifact update problem" in #7 (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: Added comment (repository=ll%2Ftestrenovate, branch=renovate/composer-minor)
"issueNo": 7
DEBUG: setBranchCommit() (repository=ll/testrenovate, branch=renovate/composer-minor)
DEBUG: getBranchPr(renovate/composer-minor) (repository=ll/testrenovate)
DEBUG: findPr(renovate/composer-minor, undefined, open) (repository=ll/testrenovate)
DEBUG: getPr(7) (repository=ll/testrenovate)
DEBUG: getMR(7) (repository=ll/testrenovate)
DEBUG: getPrCache() (repository=ll/testrenovate)
DEBUG: ensureDependencyDashboard() (repository=ll/testrenovate)
DEBUG: Closing Dependency Dashboard (repository=ll/testrenovate)
DEBUG: ensureIssueClosing() (repository=ll/testrenovate)
DEBUG: Removing any stale branches (repository=ll/testrenovate)
DEBUG: config.repoIsOnboarded=true (repository=ll/testrenovate)
DEBUG: Branch lists (repository=ll/testrenovate)
"branchList": ["renovate/composer-minor"],
"renovateBranches": ["renovate/composer-minor"]
DEBUG: remainingBranches= (repository=ll/testrenovate)
DEBUG: No branches to clean up (repository=ll/testrenovate)
DEBUG: ensureIssueClosing() (repository=ll/testrenovate)
DEBUG: ensureIssueClosing() (repository=ll/testrenovate)
DEBUG: PackageFiles.clear() - Package files deleted (repository=ll/testrenovate)
DEBUG: Branch summary (repository=ll/testrenovate)
"cacheModified": undefined,
"baseBranches": [{"branchName": "main", "sha": "af75882a977a820518e9a0221396ecbcba883fcb"}],
"branches": [
{
"automerge": false,
"baseBranch": "main",
"baseBranchSha": "af75882a977a820518e9a0221396ecbcba883fcb",
"branchName": "renovate/composer-minor",
"branchSha": "476ac6c7770fbe0413747daf4ff493c8fb9dd781",
"isModified": false,
"isPristine": true
}
],
"defaultBranch": "main",
"inactiveBranches": []
DEBUG: branches info extended (repository=ll/testrenovate)
"branchesInformation": [
{
"branchName": "renovate/composer-minor",
"prNo": 7,
"prTitle": "chore(composer): update composer dependencies",
"result": "done",
"upgrades": [
{
"datasource": "packagist",
"depName": "blueways/bw-captcha",
"displayPending": "",
"fixedVersion": "1.1.4",
"currentVersion": "1.1.4",
"currentValue": "1.1.4",
"newValue": "1.3.0",
"newVersion": "1.3.0",
"packageFile": "composer.json",
"updateType": "minor",
"packageName": "blueways/bw-captcha"
},
{
"datasource": "packagist",
"depName": "sypets/brofix",
"displayPending": "",
"fixedVersion": "3.1.0",
"currentVersion": "3.1.0",
"currentValue": "3.1.0",
"newValue": "3.2.2",
"newVersion": "3.2.2",
"packageFile": "app/package/composer.json",
"updateType": "minor",
"packageName": "sypets/brofix"
},
{
"datasource": "packagist",
"depName": "yoast-seo-for-typo3/yoast_seo",
"displayPending": "",
"fixedVersion": "8.2.0",
"currentVersion": "8.2.0",
"currentValue": "8.2.0",
"newValue": "8.3.1",
"newVersion": "8.3.1",
"packageFile": "composer.json",
"updateType": "minor",
"packageName": "yoast-seo-for-typo3/yoast_seo"
}
]
}
]
DEBUG: Renovate repository PR statistics (repository=ll/testrenovate)
"stats": {"total": 6, "open": 1, "closed": 5, "merged": 0}
DEBUG: Repository result: done, status: onboarded, enabled: true, onboarded: true (repository=ll/testrenovate)
DEBUG: Repository timing splits (milliseconds) (repository=ll/testrenovate)
"splits": {"init": 2475, "extract": 64, "lookup": 128, "onboarding": 1, "update": 7019},
"total": 9703
DEBUG: Package cache statistics (repository=ll/testrenovate)
"get": {"count": 23, "avgMs": 5, "medianMs": 2, "maxMs": 37},
"set": {"count": 0}
DEBUG: http statistics (repository=ll/testrenovate)
"urls": {
"https://gitlab.selfhosted.com/api/v4/projects/ll%2Ftestrenovate/issues (GET,200)": 1,
"https://gitlab.selfhosted.com/api/v4/projects/ll%2Ftestrenovate/merge_requests (GET,200)": 1,
"https://gitlab.selfhosted.com/api/v4/projects/ll%2Ftestrenovate/merge_requests/7 (GET,200)": 1,
"https://gitlab.selfhosted.com/api/v4/projects/ll%2Ftestrenovate/merge_requests/7 (PUT,200)": 1,
"https://gitlab.selfhosted.com/api/v4/projects/ll%2Ftestrenovate/merge_requests/7/notes (GET,200)": 2,
"https://gitlab.selfhosted.com/api/v4/projects/ll%2Ftestrenovate/merge_requests/7/notes (POST,201)": 1,
"https://gitlab.selfhosted.com/api/v4/projects/ll%2Ftestrenovate/repository/commits/476ac6c7770fbe0413747daf4ff493c8fb9dd781/statuses (GET,200)": 2,
"https://gitlab.selfhosted.com/api/v4/projects/ll%2Ftestrenovate/statuses/476ac6c7770fbe0413747daf4ff493c8fb9dd781 (POST,201)": 1
},
"hostStats": {
"gitlab.selfhosted.com": {
"requestCount": 10,
"requestAvgMs": 223,
"queueAvgMs": 0
}
},
"totalRequests": 10
DEBUG: Package lookup durations (repository=ll/testrenovate)
"packagist": {"count": 5, "averageMs": 33, "totalMs": 164, "maximumMs": 67}
DEBUG: dns cache (repository=ll/testrenovate)
"hosts": []
INFO: Repository finished (repository=ll/testrenovate)
"cloned": true,
"durationMs": 9703
DEBUG: Checking file package cache for expired items
DEBUG: Deleted 0 of 116 file cached entries in 87ms
DEBUG: Renovate exiting
```

## Config

Renovate is run via NPM and Docker with the following config:

```js
module.exports = {

/**
* Base Config Extensions
*/
extends: [
// https://docs.renovatebot.com/presets-default/#ignoremodulesandtests
':ignoreModulesAndTests',
// https://docs.renovatebot.com/presets-group/#groupmonorepos
'group:monorepos',
// https://docs.renovatebot.com/presets-group/#grouprecommended
'group:recommended',
// https://docs.renovatebot.com/presets-workarounds/#workaroundsall
'workarounds:all'
],

major: {
enabled: false
},

/**
* Package Rules
*/
packageRules: [
/**
* Composer packages
*/
{
groupName: 'Composer dependencies',
matchManagers: ['composer'],
matchUpdateTypes: ['minor', 'patch'],
addLabels: ['composer'],
semanticCommitScope: 'composer',
},
{
matchManagers: ['composer'],
matchUpdateTypes: ['patch'],
groupSlug: 'composer-patch'
},
{
matchManagers: ['composer'],
matchUpdateTypes: ['minor'],
groupSlug: 'composer-minor'
},

],

/**
* Platform
*/
platform: 'gitlab',
endpoint: urls.gitlab + '/',
token: process.env.GITLAB_API_PRIVATE_TOKEN,

/**
* Managers
*/
// What dependencies are we updating?
enabledManagers: [
'composer',
],

};

```