renovatebot / config-help

Please use the Discussions feature of https://github.com/renovatebot/renovate instead

Home Page:https://github.com/renovatebot/renovate/discussions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot wrap my head around where the config file should be

p3k opened this issue · comments

Which Renovate are you using?

Renovate Open Source CLI

Which platform are you using?

GitLab self-hosted

Have you checked the logs? Don't forget to include them if relevant

Here is the output up to Renovate obviously not reading the desired configuration:

$ renovate --token ${GITLAB_AUTH_TOKEN}
DEBUG: Using RE2 as regex engine
DEBUG: Parsing configs
DEBUG: Checking for config file in /builds/tobi/app/config
DEBUG: No config file found on disk - skipping
DEBUG: File config
       "config": {}
DEBUG: File config
       "config": {}
DEBUG: CLI config
       "config": {"token": "***********"}
DEBUG: Env config
       "config": {
         "hostRules": [
           {"hostType": "github", "domainName": "github.com", "token": "***********"}
         ],
         "logLevel": "debug"
       }
DEBUG: Combined config
       "config": {
         "hostRules": [
           {"hostType": "github", "domainName": "github.com", "token": "***********"}
         ],
         "logLevel": "debug",
         "token": "***********"
       }
DEBUG: Using default github endpoint: https://api.github.com/

What would you like to do?

I created and merged the on-boarding MR (which was working fine) with a config file at a custom path and the corresponding environment variable RENOVATE_CONFIG_FILE in .gitlab-ci.yml

Running the pipeline simply stated the repository was not enabled.

So I tried the same configuration in ./.renovaterc and now I get an auth error.

The debug output confuses me because it seems to look for a configuration in /builds/tobi/app/config of all places – afaik this is not in line with the docs
🤔

This is the definition of the GitLab CI job:

update_dependencies:
  stage: update
  image: node:12
  cache: {}
  variables:
    LOG_LEVEL: debug
  before_script:
    - yarn global add renovate@latest
    #- export RENOVATE_CONFIG_FILE=./tools/ci/renovate.json
  script:
    #- "renovate-config-validator"
    - "renovate --token ${GITLAB_AUTH_TOKEN}"
  only:
    - schedules
  tags:
    - sil-docker

This is the ./tools/ci/renovate.json file (aka ./renovaterc):

{
  "extends": [
    "config:base",
    ":preserveSemverRanges"
  ],

  "platform": "gitlab",
  "endpoint": "https://gitlab.redacted.dom/api/v4",
  "repositories": ["tobi/app"],
  "assignees": ["tobi"],
  "baseBranches": ["main"],
  "enabledManagers": ["npm"],
  "includePaths": ["client/package.json", "tools/package.json"],

  "packageRules": [
    {
      "packageNames": [ "bootstrap" ],
      "allowedVersions": "<4.0.0"
    },
    {
      "packageNames": [ "d3" ],
      "allowedVersions": "<4.0.0"
    },
    {
      "packageNames": [ "ractive" ],
      "allowedVersions": "0.9.10"
    },
    {
      "packagePatterns": [ "^d3" ],
      "groupName": "d3"
    },
    {
      "packagePatterns": [ "^ractive" ],
      "groupName": "ractive"
    },
    {
      "packagePatterns": [ "^rollup" ],
      "groupName": "rollup"
    }
  ]
}

My head is spinning, so any help and assistance is greatly appreciated.

Slight update: I just ran the job with the old config path in RENOVATE_CONFIG_FILE and the debug level and found this:

DEBUG: findPr(renovate/configure, Configure Renovate, !open) (repository=tobi/app)
DEBUG: Found closed onboarding PR (repository=tobi/app)
DEBUG: Repo is not onboarded and no merged PRs exist (repository=tobi/app)

While it is assuring that the config file in fact is found and read, I don’t know what to think of the claim Repo is not onboarded and no merged PRs exist

image

Tried the whole on-boarding process again, renaming the old MR yadda yadda yadda – to no avail, same outcome. This is frustrating.

The complete CI debug output in all its “glory”, slightly reacted.
Running with gitlab-runner 13.3.1 (738bbe5a)
  on sil-runner zKU4x_uy
Preparing the "docker" executor
Using Docker executor with image node:12 ...
Pulling docker image gitlab/gitlab-runner-helper:x86_64-6fbc7474 ...
Using docker image sha256:4ab73fe41bd466dff16a0e732b568862dce676f1d49de2a85309349266c882f8 for gitlab/gitlab-runner-helper:x86_64-6fbc7474 ...
Pulling docker image node:12 ...
Using docker image sha256:1f560ce4ce7ef0c10f927fccf4a85f678e976d88b176ebaffd801b6c947924f5 for node:12 ...
Preparing environment
00:02
Running on runner-zku4xuy-project-247-concurrent-0 via nirvana...
Getting source from Git repository
00:11
Fetching changes...
Reinitialized existing Git repository in /builds/tobi/app/.git/
Checking out 787f8fae as main...
Removing .gradle/
Removing build/
Removing client/.gradle/
Removing client/build/
Removing client/components/redacted/clustermap/node_modules/
Removing client/node_modules/
Removing server/build/
Removing tools/.gradle/
Removing tools/emailalert/build/
Removing tools/gradle-plugins/spawn/.gradle/
Removing tools/gradle-plugins/spawn/build/
Skipping Git submodules setup
Executing "step_script" stage of the job script
00:35
$ yarn global add renovate@latest
yarn global v1.22.5
[1/4] Resolving packages...
warning renovate > jsdom > request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
warning renovate > jsdom > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning renovate > re2 > node-gyp > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning renovate > jsdom > request > har-validator@5.1.5: this library is no longer supported
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "renovate@23.79.0" with binaries:
      - renovate
      - renovate-config-validator
Done in 26.61s.
$ export RENOVATE_CONFIG_FILE=./tools/ci/renovate.json
$ renovate --token ${GITLAB_AUTH_TOKEN}
DEBUG: Using RE2 as regex engine
DEBUG: Parsing configs
DEBUG: Checking for config file in /builds/tobi/app/./tools/ci/renovate.json
DEBUG: File config
       "config": {
         "description": [
           "Separate major versions of dependencies into individual branches/PRs",
           "Do not separate patch and minor upgrades into separate PRs for the same dependency",
           "Upgrade to unstable versions only if the existing version is unstable",
           "Raise PRs immediately (after branch is created)",
           "If semantic commits detected, use semantic commit type fix for dependencies and chore for all others",
           "Keep existing branches updated even when not scheduled",
           "Disable automerging feature - wait for humans to merge all PRs",
           "Ignore `node_modules`, `bower_components`, `vendor` and various test/tests directories",
           "Autodetect whether to pin dependencies or maintain ranges",
           "Rate limit PR creation to a maximum of two per hour",
           "Limit to maximum 20 open PRs at any time",
           "Group known monorepo packages together",
           "Use curated list of recommended non-monorepo package groupings",
           "Ignore wrongly tagged actions/setup-node v2 releases",
           "Preserve (but continue to upgrade) any existing semver ranges"
         ],
         "separateMajorMinor": true,
         "separateMinorPatch": false,
         "ignoreUnstable": true,
         "prCreation": "immediate",
         "packageRules": [
           {"packagePatterns": ["*"], "semanticCommitType": "chore"},
           {"depTypeList": ["dependencies"], "semanticCommitType": "fix"},
           {
             "description": [
               "ag-grid monorepo",
               "Group packages from ag-grid monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ag-grid/ag-grid"],
             "groupName": "ag-grid monorepo"
           },
           {
             "description": [
               "arcus event-grid monorepo",
               "Group packages from arcus event-grid monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/arcus-azure/arcus.eventgrid"],
             "groupName": "arcus event-grid monorepo"
           },
           {
             "description": [
               "arcus security monorepo",
               "Group packages from arcus security monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/arcus-azure/arcus.security"],
             "groupName": "arcus security monorepo"
           },
           {
             "description": [
               "arcus messaging monorepo",
               "Group packages from arcus messaging monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/arcus-azure/arcus.messaging"],
             "groupName": "arcus messaging monorepo"
           },
           {
             "description": [
               "arcus observability monorepo",
               "Group packages from arcus observability monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/arcus-azure/arcus.observability"
             ],
             "groupName": "arcus observability monorepo"
           },
           {
             "description": [
               "arcus webapi monorepo",
               "Group packages from arcus webapi monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/arcus-azure/arcus.webapi"],
             "groupName": "arcus webapi monorepo"
           },
           {
             "description": [
               "arcus background-jobs monorepo",
               "Group packages from arcus background-jobs monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/arcus-azure/arcus.backgroundjobs"
             ],
             "groupName": "arcus background-jobs monorepo"
           },
           {
             "description": [
               "algolia-react-instantsearch monorepo",
               "Group packages from algolia-react-instantsearch monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/algolia/react-instantsearch"],
             "groupName": "algolia-react-instantsearch monorepo"
           },
           {
             "description": [
               "apollo-server monorepo",
               "Group packages from apollo-server monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/apollographql/apollo-server"],
             "groupName": "apollo-server monorepo"
           },
           {
             "description": [
               "aspnet AspNetWebStack monorepo",
               "Group packages from aspnet AspNetWebStack monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/aspnet/AspNetWebStack"],
             "groupName": "aspnet AspNetWebStack monorepo"
           },
           {
             "description": [
               "aspnet Extensions monorepo",
               "Group packages from aspnet Extensions monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/aspnet/Extensions"],
             "groupName": "aspnet Extensions monorepo"
           },
           {
             "description": [
               "aws-cdk monorepo",
               "Group packages from aws-cdk monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/aws/aws-cdk"],
             "groupName": "aws-cdk monorepo"
           },
           {
             "description": [
               "azure azure-libraries-for-net monorepo",
               "Group packages from azure azure-libraries-for-net monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/Azure/azure-libraries-for-net"],
             "groupName": "azure azure-libraries-for-net monorepo"
           },
           {
             "description": [
               "azure azure-sdk-for-net monorepo",
               "Group packages from azure azure-sdk-for-net monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/Azure/azure-sdk-for-net"],
             "groupName": "azure azure-sdk-for-net monorepo"
           },
           {
             "description": [
               "azure azure-storage-net monorepo",
               "Group packages from azure azure-storage-net monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/Azure/azure-storage-net"],
             "groupName": "azure azure-storage-net monorepo"
           },
           {
             "description": [
               "bugsnag-js monorepo",
               "Group packages from bugsnag-js monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/bugsnag/bugsnag-js"],
             "groupName": "bugsnag-js monorepo"
           },
           {
             "description": [
               "date-io monorepo",
               "Group packages from date-io monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/dmtrKovalenko/date-io"],
             "groupName": "date-io monorepo"
           },
           {
             "description": [
               "devextreme-reactive monorepo",
               "Group packages from devextreme-reactive monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/DevExpress/devextreme-reactive"
             ],
             "groupName": "devextreme-reactive monorepo"
           },
           {
             "description": [
               "electron-forge monorepo",
               "Group packages from electron-forge monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/electron-userland/electron-forge"
             ],
             "groupName": "electron-forge monorepo"
           },
           {
             "description": [
               "feathers-databases monorepo",
               "Group packages from feathers-databases monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/feathersjs/databases"],
             "groupName": "feathers-databases monorepo"
           },
           {
             "description": [
               "ember-decorators monorepo",
               "Group packages from ember-decorators monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/ember-decorators/ember-decorators"
             ],
             "groupName": "ember-decorators monorepo"
           },
           {
             "description": [
               "graphql-modules monorepo",
               "Group packages from graphql-modules monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/Urigo/graphql-modules"],
             "groupName": "graphql-modules monorepo"
           },
           {
             "description": [
               "ionic-native monorepo",
               "Group packages from ionic-native monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ionic-team/ionic-native"],
             "groupName": "ionic-native monorepo"
           },
           {
             "description": [
               "mdc-react monorepo",
               "Group packages from mdc-react monorepo together"
             ],
             "sourceUrlPrefixes": [
               "material-components/material-components-web-react"
             ],
             "groupName": "mdc-react monorepo"
           },
           {
             "description": [
               "ngx-formly monorepo",
               "Group packages from ngx-formly monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ngx-formly/ngx-formly"],
             "groupName": "ngx-formly monorepo"
           },
           {
             "description": [
               "ngxs-store monorepo",
               "Group packages from ngxs-store monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ngxs/store"],
             "groupName": "ngxs-store monorepo"
           },
           {
             "description": [
               "reach-ui monorepo",
               "Group packages from reach-ui monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/reach/reach-ui"],
             "groupName": "reach-ui monorepo"
           },
           {
             "description": [
               "react-apollo monorepo",
               "Group packages from react-apollo monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/apollographql/react-apollo"],
             "groupName": "react-apollo monorepo"
           },
           {
             "description": [
               "react-dnd monorepo",
               "Group packages from react-dnd monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/react-dnd/react-dnd"],
             "groupName": "react-dnd monorepo"
           },
           {
             "description": [
               "react-navigation monorepo",
               "Group packages from react-navigation monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/react-navigation/react-navigation"
             ],
             "groupName": "react-navigation monorepo"
           },
           {
             "description": [
               "reactivestack-cookies monorepo",
               "Group packages from reactivestack-cookies monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/reactivestack/cookies"],
             "groupName": "reactivestack-cookies monorepo"
           },
           {
             "description": [
               "reg-suit monorepo",
               "Group packages from reg-suit monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/reg-viz/reg-suit"],
             "groupName": "reg-suit monorepo"
           },
           {
             "description": [
               "semantic-release monorepo",
               "Group packages from semantic-release monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/semantic-release/"],
             "groupName": "semantic-release monorepo"
           },
           {
             "description": [
               "telus-tds monorepo",
               "Group packages from telus-tds monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/telusdigital/tds"],
             "groupName": "telus-tds monorepo"
           },
           {
             "description": [
               "typescript-eslint monorepo",
               "Group packages from typescript-eslint monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/typescript-eslint/typescript-eslint"
             ],
             "groupName": "typescript-eslint monorepo"
           },
           {
             "description": [
               "typography-js monorepo",
               "Group packages from typography-js monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/KyleAMathews/typography.js"],
             "groupName": "typography-js monorepo"
           },
           {
             "description": [
               "vue-cli monorepo",
               "Group packages from vue-cli monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/vuejs/vue-cli"],
             "groupName": "vue-cli monorepo"
           },
           {
             "description": [
               "accounts monorepo",
               "Group packages from accounts monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/accounts-js/accounts"],
             "groupName": "accounts monorepo"
           },
           {
             "description": [
               "angular1 monorepo",
               "Group packages from angular1 monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/angular/angular.js"],
             "groupName": "angular1 monorepo"
           },
           {
             "description": [
               "angular monorepo",
               "Group packages from angular monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/angular/angular"],
             "groupName": "angular monorepo"
           },
           {
             "description": [
               "angularcli monorepo",
               "Group packages from angularcli monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/angular/angular-cli"],
             "groupName": "angularcli monorepo"
           },
           {
             "description": [
               "apolloclient monorepo",
               "Group packages from apolloclient monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/apollographql/apollo-client"],
             "groupName": "apolloclient monorepo"
           },
           {
             "description": [
               "apollolink monorepo",
               "Group packages from apollolink monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/apollographql/apollo-link"],
             "groupName": "apollolink monorepo"
           },
           {
             "description": [
               "awsappsync monorepo",
               "Group packages from awsappsync monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/awslabs/aws-mobile-appsync-sdk-js"
             ],
             "groupName": "awsappsync monorepo"
           },
           {
             "description": [
               "babel monorepo",
               "Group packages from babel monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/babel/babel"],
             "groupName": "babel monorepo"
           },
           {
             "description": [
               "baset monorepo",
               "Group packages from baset monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/igmat/baset"],
             "groupName": "baset monorepo"
           },
           {
             "description": [
               "brave monorepo",
               "Group packages from brave monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/openzipkin/brave"],
             "groupName": "brave monorepo"
           },
           {
             "description": [
               "capacitor monorepo",
               "Group packages from capacitor monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ionic-team/capacitor"],
             "groupName": "capacitor monorepo"
           },
           {
             "description": [
               "chromely monorepo",
               "Group packages from chromely monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/chromelyapps/Chromely"],
             "groupName": "chromely monorepo"
           },
           {
             "packagePatterns": ["^@clr/"],
             "description": ["Group packages from clarity monorepo together"],
             "groupName": "clarity monorepo"
           },
           {
             "description": [
               "commitlint monorepo",
               "Group packages from commitlint monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/conventional-changelog/commitlint"
             ],
             "groupName": "commitlint monorepo"
           },
           {
             "description": [
               "docusaurus monorepo",
               "Group packages from docusaurus monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/facebook/docusaurus"],
             "groupName": "docusaurus monorepo"
           },
           {
             "description": [
               "dropwizard monorepo",
               "Group packages from dropwizard monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/dropwizard/dropwizard"],
             "groupName": "dropwizard monorepo"
           },
           {
             "description": [
               "emotion monorepo",
               "Group packages from emotion monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/emotion-js/emotion"],
             "groupName": "emotion monorepo"
           },
           {
             "description": [
               "expo monorepo",
               "Group packages from expo monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/expo/expo"],
             "groupName": "expo monorepo"
           },
           {
             "description": [
               "feathers monorepo",
               "Group packages from feathers monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/feathersjs/feathers"],
             "groupName": "feathers monorepo"
           },
           {
             "description": [
               "fimbullinter monorepo",
               "Group packages from fimbullinter monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/fimbullinter/wotan"],
             "groupName": "fimbullinter monorepo"
           },
           {
             "description": [
               "flopflip monorepo",
               "Group packages from flopflip monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/tdeekens/flopflip"],
             "groupName": "flopflip monorepo"
           },
           {
             "description": [
               "formatjs monorepo",
               "Group packages from formatjs monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/formatjs/formatjs"],
             "groupName": "formatjs monorepo"
           },
           {
             "description": [
               "framework7 monorepo",
               "Group packages from framework7 monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/framework7io/framework7"],
             "groupName": "framework7 monorepo"
           },
           {
             "description": [
               "gatsby monorepo",
               "Group packages from gatsby monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/gatsbyjs/gatsby"],
             "groupName": "gatsby monorepo"
           },
           {
             "description": [
               "graphqlcodegenerator monorepo",
               "Group packages from graphqlcodegenerator monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/dotansimha/graphql-code-generator",
               "https://github.com/dotansimha/graphql-codegen"
             ],
             "groupName": "graphqlcodegenerator monorepo"
           },
           {
             "description": [
               "graphql-mesh monorepo",
               "Group packages from graphql-mesh monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/Urigo/graphql-mesh"],
             "groupName": "graphql-mesh monorepo"
           },
           {
             "description": [
               "graphql-toolkit monorepo",
               "Group packages from graphql-toolkit monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ardatan/graphql-toolkit"],
             "groupName": "graphql-toolkit monorepo"
           },
           {
             "description": [
               "graphql-tools monorepo",
               "Group packages from graphql-tools monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ardatan/graphql-tools"],
             "groupName": "graphql-tools monorepo"
           },
           {
             "description": [
               "hamcrest monorepo",
               "Group packages from hamcrest monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/hamcrest/JavaHamcrest"],
             "groupName": "hamcrest monorepo"
           },
           {
             "description": [
               "hapijs monorepo",
               "Group packages from hapijs monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/hapijs"],
             "groupName": "hapijs monorepo"
           },
           {
             "description": [
               "infrastructure monorepo",
               "Group packages from infrastructure monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/instructure/instructure-ui"],
             "groupName": "infrastructure monorepo"
           },
           {
             "description": [
               "istanbuljs monorepo",
               "Group packages from istanbuljs monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/istanbuljs/istanbuljs"],
             "groupName": "istanbuljs monorepo"
           },
           {
             "description": [
               "jasmine monorepo",
               "Group packages from jasmine monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/jasmine/jasmine"],
             "groupName": "jasmine monorepo"
           },
           {
             "description": [
               "jersey monorepo",
               "Group packages from jersey monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/eclipse-ee4j/jersey"],
             "groupName": "jersey monorepo"
           },
           {
             "description": [
               "jest monorepo",
               "Group packages from jest monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/facebook/jest"],
             "groupName": "jest monorepo"
           },
           {
             "description": [
               "lerna monorepo",
               "Group packages from lerna monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/lerna/lerna"],
             "groupName": "lerna monorepo"
           },
           {
             "description": [
               "lingui monorepo",
               "Group packages from lingui monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/lingui/js-lingui"],
             "groupName": "lingui monorepo"
           },
           {
             "description": [
               "lodash monorepo",
               "Group packages from lodash monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/lodash/"],
             "groupName": "lodash monorepo"
           },
           {
             "description": [
               "loopback monorepo",
               "Group packages from loopback monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/strongloop/loopback-next"],
             "groupName": "loopback monorepo"
           },
           {
             "description": [
               "lrnwebcomponents monorepo",
               "Group packages from lrnwebcomponents monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/elmsln/lrnwebcomponents"],
             "groupName": "lrnwebcomponents monorepo"
           },
           {
             "description": [
               "material monorepo",
               "Group packages from material monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/material-components/material-components-web"
             ],
             "groupName": "material monorepo"
           },
           {
             "description": [
               "mdx monorepo",
               "Group packages from mdx monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/mdx-js/mdx"],
             "groupName": "mdx monorepo"
           },
           {
             "description": [
               "mui monorepo",
               "Group packages from mui monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/mui-org/material-ui"],
             "groupName": "mui monorepo"
           },
           {
             "description": [
               "nest monorepo",
               "Group packages from nest monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/nestjs/nest"],
             "groupName": "nest monorepo"
           },
           {
             "description": [
               "neutrino monorepo",
               "Group packages from neutrino monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/neutrinojs/neutrino",
               "https://github.com/mozilla-neutrino/neutrino-dev"
             ],
             "groupName": "neutrino monorepo"
           },
           {
             "description": [
               "nextjs monorepo",
               "Group packages from nextjs monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/zeit/next.js",
               "https://github.com/vercel/next.js"
             ],
             "groupName": "nextjs monorepo"
           },
           {
             "description": [
               "nivo monorepo",
               "Group packages from nivo monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/plouc/nivo"],
             "groupName": "nivo monorepo"
           },
           {
             "description": [
               "ngrx monorepo",
               "Group packages from ngrx monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ngrx/"],
             "groupName": "ngrx monorepo"
           },
           {
             "description": [
               "nrwl monorepo",
               "Group packages from nrwl monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/nrwl/"],
             "groupName": "nrwl monorepo"
           },
           {
             "description": [
               "nuxtjs monorepo",
               "Group packages from nuxtjs monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/nuxt/nuxt.js"],
             "groupName": "nuxtjs monorepo"
           },
           {
             "description": [
               "openfeign monorepo",
               "Group packages from openfeign monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/OpenFeign/feign"],
             "groupName": "openfeign monorepo"
           },
           {
             "description": [
               "opentelemetry monorepo",
               "Group packages from opentelemetry monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/open-telemetry/opentelemetry-js"
             ],
             "groupName": "opentelemetry monorepo"
           },
           {
             "description": [
               "picasso monorepo",
               "Group packages from picasso monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/qlik-oss/picasso.js"],
             "groupName": "picasso monorepo"
           },
           {
             "description": [
               "pollyjs monorepo",
               "Group packages from pollyjs monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/Netflix/pollyjs"],
             "groupName": "pollyjs monorepo"
           },
           {
             "description": [
               "pouchdb monorepo",
               "Group packages from pouchdb monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/pouchdb/pouchdb"],
             "groupName": "pouchdb monorepo"
           },
           {
             "description": [
               "prisma monorepo",
               "Group packages from prisma monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/prisma/prisma"],
             "groupName": "prisma monorepo"
           },
           {
             "description": [
               "react monorepo",
               "Group packages from react monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/facebook/react"],
             "groupName": "react monorepo"
           },
           {
             "description": [
               "reactrouter monorepo",
               "Group packages from reactrouter monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ReactTraining/react-router"],
             "groupName": "reactrouter monorepo"
           },
           {
             "description": [
               "reakit monorepo",
               "Group packages from reakit monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/reakit/reakit"],
             "groupName": "reakit monorepo"
           },
           {
             "description": [
               "remark monorepo",
               "Group packages from remark monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/remarkjs/remark"],
             "groupName": "remark monorepo"
           },
           {
             "description": [
               "router5 monorepo",
               "Group packages from router5 monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/router5/router5"],
             "groupName": "router5 monorepo"
           },
           {
             "description": [
               "sentry monorepo",
               "Group packages from sentry monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/getsentry/sentry-javascript"],
             "groupName": "sentry monorepo"
           },
           {
             "description": [
               "springfox monorepo",
               "Group packages from springfox monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/springfox/springfox"],
             "groupName": "springfox monorepo"
           },
           {
             "description": [
               "sanity monorepo",
               "Group packages from sanity monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/sanity-io/sanity"],
             "groupName": "sanity monorepo"
           },
           {
             "description": [
               "storybook monorepo",
               "Group packages from storybook monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/storybookjs/storybook"],
             "groupName": "storybook monorepo"
           },
           {
             "description": [
               "strapi monorepo",
               "Group packages from strapi monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/strapi/strapi"],
             "groupName": "strapi monorepo"
           },
           {
             "description": [
               "stryker monorepo",
               "Group packages from stryker monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/stryker-mutator/stryker"],
             "groupName": "stryker monorepo"
           },
           {
             "description": [
               "surveyjs monorepo",
               "Group packages from surveyjs monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/surveyjs/surveyjs"],
             "groupName": "surveyjs monorepo"
           },
           {
             "description": [
               "Swashbuckle monorepo",
               "Group packages from Swashbuckle monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/domaindrivendev/Swashbuckle.AspNetCore"
             ],
             "groupName": "Swashbuckle monorepo"
           },
           {
             "description": [
               "treat monorepo",
               "Group packages from treat monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/seek-oss/treat"],
             "groupName": "treat monorepo"
           },
           {
             "description": [
               "typefaces monorepo",
               "Group packages from typefaces monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/KyleAMathews/typefaces"],
             "groupName": "typefaces monorepo"
           },
           {
             "description": [
               "uppy monorepo",
               "Group packages from uppy monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/transloadit/uppy"],
             "groupName": "uppy monorepo"
           },
           {
             "description": [
               "vue monorepo",
               "Group packages from vue monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/vuejs/vue"],
             "groupName": "vue monorepo"
           },
           {
             "description": [
               "vuepress monorepo",
               "Group packages from vuepress monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/vuejs/vuepress"],
             "groupName": "vuepress monorepo"
           },
           {
             "description": [
               "webdriverio monorepo",
               "Group packages from webdriverio monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/webdriverio/webdriverio"],
             "groupName": "webdriverio monorepo"
           },
           {
             "description": [
               "workbox monorepo",
               "Group packages from workbox monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/googlechrome/workbox"],
             "groupName": "workbox monorepo"
           },
           {
             "packagePatterns": ["^babel6$"],
             "description": ["Group packages from babel6 monorepo together"],
             "groupName": "babel6 monorepo"
           },
           {
             "packagePatterns": ["^@wordpress/"],
             "description": ["Group packages from wordpress monorepo together"],
             "groupName": "wordpress monorepo"
           },
           {
             "packagePatterns": ["^@angular/material", "^@angular/cdk"],
             "description": ["Group packages from angularmaterial monorepo together"],
             "groupName": "angularmaterial monorepo"
           },
           {
             "packagePatterns": ["^com.amazonaws:aws-java-sdk-"],
             "description": ["Group packages from aws-java-sdk monorepo together"],
             "groupName": "aws-java-sdk monorepo"
           },
           {
             "packagePatterns": ["^@embroider/"],
             "description": ["Group packages from embroider monorepo together"],
             "groupName": "embroider monorepo"
           },
           {
             "packagePatterns": ["^@fullcalendar/"],
             "description": ["Group packages from fullcalendar monorepo together"],
             "groupName": "fullcalendar monorepo"
           },
           {
             "description": ["All packages published by Apollo GraphQL"],
             "sourceUrlPrefixes": ["https://github.com/apollographql/"],
             "groupName": "Apollo GraphQL packages"
           },
           {"groupName": "Font Awesome", "packagePatterns": ["^@fortawesome/"]},
           {
             "groupName": "Glimmer.js packages",
             "groupSlug": "glimmer",
             "packageNames": ["@glimmer/component", "@glimmer/tracking"]
           },
           {
             "datasources": ["go"],
             "groupName": "go-openapi packages",
             "groupSlug": "go-openapi",
             "packagePatterns": ["^github.com/go-openapi/"]
           },
           {"packagePatterns": ["^org.hibernate:"], "groupName": "hibernate core"},
           {
             "packagePatterns": ["^org.hibernate.validator:"],
             "groupName": "hibernate validator"
           },
           {"packagePatterns": ["^org.hibernate.ogm:"], "groupName": "hibernate ogm"},
           {
             "packagePatterns": ["^org.hibernate.common:"],
             "groupName": "hibernate commons"
           },
           {
             "packagePatterns": ["^illuminate/"],
             "groupName": "illuminate packages",
             "groupSlug": "illuminate"
           },
           {
             "sourceUrlPrefixes": [
               "https://github.com/jekyll/",
               "https://github.com/github/pages-gem"
             ],
             "groupName": "jekyll ecosystem packages"
           },
           {"groupName": "polymer packages", "packagePatterns": ["^@polymer/"]},
           {
             "packagePatterns": ["^io.github.resilience4j:"],
             "groupName": "resilience4j"
           },
           {
             "datasources": ["rubygems"],
             "packagePatterns": ["^omniauth"],
             "groupName": "omniauth packages"
           },
           {"groupName": "socket.io packages", "packagePatterns": ["^socket.io"]},
           {
             "groupName": "spring amqp",
             "packagePatterns": ["^org.springframework.amqp:"]
           },
           {
             "groupName": "spring android",
             "packagePatterns": ["^org.springframework.android:"]
           },
           {
             "groupName": "spring batch",
             "packagePatterns": ["^org.springframework.batch:"]
           },
           {
             "groupName": "spring boot",
             "packagePatterns": ["^org.springframework.boot:"]
           },
           {
             "groupName": "spring cloud",
             "packagePatterns": ["^org.springframework.cloud:"]
           },
           {"groupName": "spring core", "packagePatterns": ["^org.springframework:"]},
           {
             "groupName": "spring data",
             "packagePatterns": ["^org.springframework.data:"]
           },
           {
             "groupName": "spring hateoas",
             "packagePatterns": ["^org.springframework.hateoas:"]
           },
           {
             "groupName": "spring integration",
             "packagePatterns": ["^org.springframework.integration:"]
           },
           {
             "groupName": "spring kafka",
             "packagePatterns": ["^org.springframework.kafka:"]
           },
           {
             "groupName": "spring ldap",
             "packagePatterns": ["^org.springframework.ldap:"]
           },
           {
             "groupName": "spring mobile",
             "packagePatterns": ["^org.springframework.mobile:"]
           },
           {
             "groupName": "spring osgi",
             "packagePatterns": ["^org.springframework.osgi:"]
           },
           {
             "groupName": "spring restdocs",
             "packagePatterns": ["^org.springframework.restdocs:"]
           },
           {
             "groupName": "spring roo",
             "packagePatterns": ["^org.springframework.roo:"]
           },
           {
             "groupName": "spring scala",
             "packagePatterns": ["^org.springframework.scala:"]
           },
           {
             "groupName": "spring security",
             "packagePatterns": ["^org.springframework.security:"]
           },
           {
             "groupName": "spring session",
             "packagePatterns": ["^org.springframework.session:"]
           },
           {
             "groupName": "spring shell",
             "packagePatterns": ["^org.springframework.shell:"]
           },
           {
             "groupName": "spring social",
             "packagePatterns": ["^org.springframework.social:"]
           },
           {
             "groupName": "spring statemachine",
             "packagePatterns": ["^org.springframework.statemachine:"]
           },
           {
             "groupName": "spring webflow",
             "packagePatterns": ["^org.springframework.webflow:"]
           },
           {"groupName": "spring ws", "packagePatterns": ["^org.springframework.ws:"]},
           {
             "packagePatterns": ["^symfony/"],
             "groupName": "symfony packages",
             "groupSlug": "symfony"
           },
           {"packageNames": ["@types/node"]},
           {
             "packageNames": ["@types/node"],
             "updateTypes": ["major"],
             "enabled": false
           },
           {
             "datasources": ["github-tags", "github-releases"],
             "packageNames": ["actions/setup-node"],
             "allowedVersions": "<2.1.1 || > 2.1.1"
           },
           {"packageNames": ["bootstrap"], "allowedVersions": "<4.0.0"},
           {"packageNames": ["d3"], "allowedVersions": "<4.0.0"},
           {"packageNames": ["ractive"], "allowedVersions": "0.9.10"},
           {"packagePatterns": ["^d3"], "groupName": "d3"},
           {"packagePatterns": ["^ractive"], "groupName": "ractive"},
           {"packagePatterns": ["^rollup"], "groupName": "rollup"}
         ],
         "updateNotScheduled": true,
         "automerge": false,
         "ignorePaths": [
           "**/node_modules/**",
           "**/bower_components/**",
           "**/vendor/**",
           "**/examples/**",
           "**/__tests__/**",
           "**/test/**",
           "**/tests/**",
           "**/__fixtures__/**"
         ],
         "rangeStrategy": "replace",
         "prHourlyLimit": 2,
         "prConcurrentLimit": 20,
         "ignoreDeps": [],
         "packageNames": [
           "fusion-cli",
           "fusion-core",
           "fusion-test-utils",
           "fusion-tokens"
         ],
         "packagePatterns": ["^fusion-plugin-*", "^fusion-react*", "^fusion-apollo*"],
         "$schema": "https://docs.renovatebot.com/renovate-schema.json",
         "platform": "gitlab",
         "endpoint": "https://gitlab.redacted.dom/api/v4",
         "repositories": ["tobi/app"],
         "assignees": ["tobi"],
         "baseBranches": ["main"],
         "enabledManagers": ["npm"],
         "includePaths": ["client/package.json", "tools/package.json"]
       }
DEBUG: CLI config
       "config": {"token": "***********"}
DEBUG: Env config
       "config": {
         "hostRules": [
           {"hostType": "github", "domainName": "github.com", "token": "***********"}
         ],
         "logLevel": "debug"
       }
DEBUG: Combined config
       "config": {
         "description": [
           "Separate major versions of dependencies into individual branches/PRs",
           "Do not separate patch and minor upgrades into separate PRs for the same dependency",
           "Upgrade to unstable versions only if the existing version is unstable",
           "Raise PRs immediately (after branch is created)",
           "If semantic commits detected, use semantic commit type fix for dependencies and chore for all others",
           "Keep existing branches updated even when not scheduled",
           "Disable automerging feature - wait for humans to merge all PRs",
           "Ignore `node_modules`, `bower_components`, `vendor` and various test/tests directories",
           "Autodetect whether to pin dependencies or maintain ranges",
           "Rate limit PR creation to a maximum of two per hour",
           "Limit to maximum 20 open PRs at any time",
           "Group known monorepo packages together",
           "Use curated list of recommended non-monorepo package groupings",
           "Ignore wrongly tagged actions/setup-node v2 releases",
           "Preserve (but continue to upgrade) any existing semver ranges"
         ],
         "separateMajorMinor": true,
         "separateMinorPatch": false,
         "ignoreUnstable": true,
         "prCreation": "immediate",
         "packageRules": [
           {"packagePatterns": ["*"], "semanticCommitType": "chore"},
           {"depTypeList": ["dependencies"], "semanticCommitType": "fix"},
           {
             "description": [
               "ag-grid monorepo",
               "Group packages from ag-grid monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ag-grid/ag-grid"],
             "groupName": "ag-grid monorepo"
           },
           {
             "description": [
               "arcus event-grid monorepo",
               "Group packages from arcus event-grid monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/arcus-azure/arcus.eventgrid"],
             "groupName": "arcus event-grid monorepo"
           },
           {
             "description": [
               "arcus security monorepo",
               "Group packages from arcus security monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/arcus-azure/arcus.security"],
             "groupName": "arcus security monorepo"
           },
           {
             "description": [
               "arcus messaging monorepo",
               "Group packages from arcus messaging monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/arcus-azure/arcus.messaging"],
             "groupName": "arcus messaging monorepo"
           },
           {
             "description": [
               "arcus observability monorepo",
               "Group packages from arcus observability monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/arcus-azure/arcus.observability"
             ],
             "groupName": "arcus observability monorepo"
           },
           {
             "description": [
               "arcus webapi monorepo",
               "Group packages from arcus webapi monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/arcus-azure/arcus.webapi"],
             "groupName": "arcus webapi monorepo"
           },
           {
             "description": [
               "arcus background-jobs monorepo",
               "Group packages from arcus background-jobs monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/arcus-azure/arcus.backgroundjobs"
             ],
             "groupName": "arcus background-jobs monorepo"
           },
           {
             "description": [
               "algolia-react-instantsearch monorepo",
               "Group packages from algolia-react-instantsearch monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/algolia/react-instantsearch"],
             "groupName": "algolia-react-instantsearch monorepo"
           },
           {
             "description": [
               "apollo-server monorepo",
               "Group packages from apollo-server monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/apollographql/apollo-server"],
             "groupName": "apollo-server monorepo"
           },
           {
             "description": [
               "aspnet AspNetWebStack monorepo",
               "Group packages from aspnet AspNetWebStack monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/aspnet/AspNetWebStack"],
             "groupName": "aspnet AspNetWebStack monorepo"
           },
           {
             "description": [
               "aspnet Extensions monorepo",
               "Group packages from aspnet Extensions monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/aspnet/Extensions"],
             "groupName": "aspnet Extensions monorepo"
           },
           {
             "description": [
               "aws-cdk monorepo",
               "Group packages from aws-cdk monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/aws/aws-cdk"],
             "groupName": "aws-cdk monorepo"
           },
           {
             "description": [
               "azure azure-libraries-for-net monorepo",
               "Group packages from azure azure-libraries-for-net monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/Azure/azure-libraries-for-net"],
             "groupName": "azure azure-libraries-for-net monorepo"
           },
           {
             "description": [
               "azure azure-sdk-for-net monorepo",
               "Group packages from azure azure-sdk-for-net monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/Azure/azure-sdk-for-net"],
             "groupName": "azure azure-sdk-for-net monorepo"
           },
           {
             "description": [
               "azure azure-storage-net monorepo",
               "Group packages from azure azure-storage-net monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/Azure/azure-storage-net"],
             "groupName": "azure azure-storage-net monorepo"
           },
           {
             "description": [
               "bugsnag-js monorepo",
               "Group packages from bugsnag-js monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/bugsnag/bugsnag-js"],
             "groupName": "bugsnag-js monorepo"
           },
           {
             "description": [
               "date-io monorepo",
               "Group packages from date-io monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/dmtrKovalenko/date-io"],
             "groupName": "date-io monorepo"
           },
           {
             "description": [
               "devextreme-reactive monorepo",
               "Group packages from devextreme-reactive monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/DevExpress/devextreme-reactive"
             ],
             "groupName": "devextreme-reactive monorepo"
           },
           {
             "description": [
               "electron-forge monorepo",
               "Group packages from electron-forge monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/electron-userland/electron-forge"
             ],
             "groupName": "electron-forge monorepo"
           },
           {
             "description": [
               "feathers-databases monorepo",
               "Group packages from feathers-databases monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/feathersjs/databases"],
             "groupName": "feathers-databases monorepo"
           },
           {
             "description": [
               "ember-decorators monorepo",
               "Group packages from ember-decorators monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/ember-decorators/ember-decorators"
             ],
             "groupName": "ember-decorators monorepo"
           },
           {
             "description": [
               "graphql-modules monorepo",
               "Group packages from graphql-modules monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/Urigo/graphql-modules"],
             "groupName": "graphql-modules monorepo"
           },
           {
             "description": [
               "ionic-native monorepo",
               "Group packages from ionic-native monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ionic-team/ionic-native"],
             "groupName": "ionic-native monorepo"
           },
           {
             "description": [
               "mdc-react monorepo",
               "Group packages from mdc-react monorepo together"
             ],
             "sourceUrlPrefixes": [
               "material-components/material-components-web-react"
             ],
             "groupName": "mdc-react monorepo"
           },
           {
             "description": [
               "ngx-formly monorepo",
               "Group packages from ngx-formly monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ngx-formly/ngx-formly"],
             "groupName": "ngx-formly monorepo"
           },
           {
             "description": [
               "ngxs-store monorepo",
               "Group packages from ngxs-store monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ngxs/store"],
             "groupName": "ngxs-store monorepo"
           },
           {
             "description": [
               "reach-ui monorepo",
               "Group packages from reach-ui monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/reach/reach-ui"],
             "groupName": "reach-ui monorepo"
           },
           {
             "description": [
               "react-apollo monorepo",
               "Group packages from react-apollo monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/apollographql/react-apollo"],
             "groupName": "react-apollo monorepo"
           },
           {
             "description": [
               "react-dnd monorepo",
               "Group packages from react-dnd monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/react-dnd/react-dnd"],
             "groupName": "react-dnd monorepo"
           },
           {
             "description": [
               "react-navigation monorepo",
               "Group packages from react-navigation monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/react-navigation/react-navigation"
             ],
             "groupName": "react-navigation monorepo"
           },
           {
             "description": [
               "reactivestack-cookies monorepo",
               "Group packages from reactivestack-cookies monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/reactivestack/cookies"],
             "groupName": "reactivestack-cookies monorepo"
           },
           {
             "description": [
               "reg-suit monorepo",
               "Group packages from reg-suit monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/reg-viz/reg-suit"],
             "groupName": "reg-suit monorepo"
           },
           {
             "description": [
               "semantic-release monorepo",
               "Group packages from semantic-release monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/semantic-release/"],
             "groupName": "semantic-release monorepo"
           },
           {
             "description": [
               "telus-tds monorepo",
               "Group packages from telus-tds monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/telusdigital/tds"],
             "groupName": "telus-tds monorepo"
           },
           {
             "description": [
               "typescript-eslint monorepo",
               "Group packages from typescript-eslint monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/typescript-eslint/typescript-eslint"
             ],
             "groupName": "typescript-eslint monorepo"
           },
           {
             "description": [
               "typography-js monorepo",
               "Group packages from typography-js monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/KyleAMathews/typography.js"],
             "groupName": "typography-js monorepo"
           },
           {
             "description": [
               "vue-cli monorepo",
               "Group packages from vue-cli monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/vuejs/vue-cli"],
             "groupName": "vue-cli monorepo"
           },
           {
             "description": [
               "accounts monorepo",
               "Group packages from accounts monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/accounts-js/accounts"],
             "groupName": "accounts monorepo"
           },
           {
             "description": [
               "angular1 monorepo",
               "Group packages from angular1 monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/angular/angular.js"],
             "groupName": "angular1 monorepo"
           },
           {
             "description": [
               "angular monorepo",
               "Group packages from angular monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/angular/angular"],
             "groupName": "angular monorepo"
           },
           {
             "description": [
               "angularcli monorepo",
               "Group packages from angularcli monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/angular/angular-cli"],
             "groupName": "angularcli monorepo"
           },
           {
             "description": [
               "apolloclient monorepo",
               "Group packages from apolloclient monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/apollographql/apollo-client"],
             "groupName": "apolloclient monorepo"
           },
           {
             "description": [
               "apollolink monorepo",
               "Group packages from apollolink monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/apollographql/apollo-link"],
             "groupName": "apollolink monorepo"
           },
           {
             "description": [
               "awsappsync monorepo",
               "Group packages from awsappsync monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/awslabs/aws-mobile-appsync-sdk-js"
             ],
             "groupName": "awsappsync monorepo"
           },
           {
             "description": [
               "babel monorepo",
               "Group packages from babel monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/babel/babel"],
             "groupName": "babel monorepo"
           },
           {
             "description": [
               "baset monorepo",
               "Group packages from baset monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/igmat/baset"],
             "groupName": "baset monorepo"
           },
           {
             "description": [
               "brave monorepo",
               "Group packages from brave monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/openzipkin/brave"],
             "groupName": "brave monorepo"
           },
           {
             "description": [
               "capacitor monorepo",
               "Group packages from capacitor monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ionic-team/capacitor"],
             "groupName": "capacitor monorepo"
           },
           {
             "description": [
               "chromely monorepo",
               "Group packages from chromely monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/chromelyapps/Chromely"],
             "groupName": "chromely monorepo"
           },
           {
             "packagePatterns": ["^@clr/"],
             "description": ["Group packages from clarity monorepo together"],
             "groupName": "clarity monorepo"
           },
           {
             "description": [
               "commitlint monorepo",
               "Group packages from commitlint monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/conventional-changelog/commitlint"
             ],
             "groupName": "commitlint monorepo"
           },
           {
             "description": [
               "docusaurus monorepo",
               "Group packages from docusaurus monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/facebook/docusaurus"],
             "groupName": "docusaurus monorepo"
           },
           {
             "description": [
               "dropwizard monorepo",
               "Group packages from dropwizard monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/dropwizard/dropwizard"],
             "groupName": "dropwizard monorepo"
           },
           {
             "description": [
               "emotion monorepo",
               "Group packages from emotion monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/emotion-js/emotion"],
             "groupName": "emotion monorepo"
           },
           {
             "description": [
               "expo monorepo",
               "Group packages from expo monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/expo/expo"],
             "groupName": "expo monorepo"
           },
           {
             "description": [
               "feathers monorepo",
               "Group packages from feathers monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/feathersjs/feathers"],
             "groupName": "feathers monorepo"
           },
           {
             "description": [
               "fimbullinter monorepo",
               "Group packages from fimbullinter monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/fimbullinter/wotan"],
             "groupName": "fimbullinter monorepo"
           },
           {
             "description": [
               "flopflip monorepo",
               "Group packages from flopflip monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/tdeekens/flopflip"],
             "groupName": "flopflip monorepo"
           },
           {
             "description": [
               "formatjs monorepo",
               "Group packages from formatjs monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/formatjs/formatjs"],
             "groupName": "formatjs monorepo"
           },
           {
             "description": [
               "framework7 monorepo",
               "Group packages from framework7 monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/framework7io/framework7"],
             "groupName": "framework7 monorepo"
           },
           {
             "description": [
               "gatsby monorepo",
               "Group packages from gatsby monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/gatsbyjs/gatsby"],
             "groupName": "gatsby monorepo"
           },
           {
             "description": [
               "graphqlcodegenerator monorepo",
               "Group packages from graphqlcodegenerator monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/dotansimha/graphql-code-generator",
               "https://github.com/dotansimha/graphql-codegen"
             ],
             "groupName": "graphqlcodegenerator monorepo"
           },
           {
             "description": [
               "graphql-mesh monorepo",
               "Group packages from graphql-mesh monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/Urigo/graphql-mesh"],
             "groupName": "graphql-mesh monorepo"
           },
           {
             "description": [
               "graphql-toolkit monorepo",
               "Group packages from graphql-toolkit monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ardatan/graphql-toolkit"],
             "groupName": "graphql-toolkit monorepo"
           },
           {
             "description": [
               "graphql-tools monorepo",
               "Group packages from graphql-tools monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ardatan/graphql-tools"],
             "groupName": "graphql-tools monorepo"
           },
           {
             "description": [
               "hamcrest monorepo",
               "Group packages from hamcrest monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/hamcrest/JavaHamcrest"],
             "groupName": "hamcrest monorepo"
           },
           {
             "description": [
               "hapijs monorepo",
               "Group packages from hapijs monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/hapijs"],
             "groupName": "hapijs monorepo"
           },
           {
             "description": [
               "infrastructure monorepo",
               "Group packages from infrastructure monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/instructure/instructure-ui"],
             "groupName": "infrastructure monorepo"
           },
           {
             "description": [
               "istanbuljs monorepo",
               "Group packages from istanbuljs monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/istanbuljs/istanbuljs"],
             "groupName": "istanbuljs monorepo"
           },
           {
             "description": [
               "jasmine monorepo",
               "Group packages from jasmine monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/jasmine/jasmine"],
             "groupName": "jasmine monorepo"
           },
           {
             "description": [
               "jersey monorepo",
               "Group packages from jersey monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/eclipse-ee4j/jersey"],
             "groupName": "jersey monorepo"
           },
           {
             "description": [
               "jest monorepo",
               "Group packages from jest monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/facebook/jest"],
             "groupName": "jest monorepo"
           },
           {
             "description": [
               "lerna monorepo",
               "Group packages from lerna monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/lerna/lerna"],
             "groupName": "lerna monorepo"
           },
           {
             "description": [
               "lingui monorepo",
               "Group packages from lingui monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/lingui/js-lingui"],
             "groupName": "lingui monorepo"
           },
           {
             "description": [
               "lodash monorepo",
               "Group packages from lodash monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/lodash/"],
             "groupName": "lodash monorepo"
           },
           {
             "description": [
               "loopback monorepo",
               "Group packages from loopback monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/strongloop/loopback-next"],
             "groupName": "loopback monorepo"
           },
           {
             "description": [
               "lrnwebcomponents monorepo",
               "Group packages from lrnwebcomponents monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/elmsln/lrnwebcomponents"],
             "groupName": "lrnwebcomponents monorepo"
           },
           {
             "description": [
               "material monorepo",
               "Group packages from material monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/material-components/material-components-web"
             ],
             "groupName": "material monorepo"
           },
           {
             "description": [
               "mdx monorepo",
               "Group packages from mdx monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/mdx-js/mdx"],
             "groupName": "mdx monorepo"
           },
           {
             "description": [
               "mui monorepo",
               "Group packages from mui monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/mui-org/material-ui"],
             "groupName": "mui monorepo"
           },
           {
             "description": [
               "nest monorepo",
               "Group packages from nest monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/nestjs/nest"],
             "groupName": "nest monorepo"
           },
           {
             "description": [
               "neutrino monorepo",
               "Group packages from neutrino monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/neutrinojs/neutrino",
               "https://github.com/mozilla-neutrino/neutrino-dev"
             ],
             "groupName": "neutrino monorepo"
           },
           {
             "description": [
               "nextjs monorepo",
               "Group packages from nextjs monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/zeit/next.js",
               "https://github.com/vercel/next.js"
             ],
             "groupName": "nextjs monorepo"
           },
           {
             "description": [
               "nivo monorepo",
               "Group packages from nivo monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/plouc/nivo"],
             "groupName": "nivo monorepo"
           },
           {
             "description": [
               "ngrx monorepo",
               "Group packages from ngrx monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ngrx/"],
             "groupName": "ngrx monorepo"
           },
           {
             "description": [
               "nrwl monorepo",
               "Group packages from nrwl monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/nrwl/"],
             "groupName": "nrwl monorepo"
           },
           {
             "description": [
               "nuxtjs monorepo",
               "Group packages from nuxtjs monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/nuxt/nuxt.js"],
             "groupName": "nuxtjs monorepo"
           },
           {
             "description": [
               "openfeign monorepo",
               "Group packages from openfeign monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/OpenFeign/feign"],
             "groupName": "openfeign monorepo"
           },
           {
             "description": [
               "opentelemetry monorepo",
               "Group packages from opentelemetry monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/open-telemetry/opentelemetry-js"
             ],
             "groupName": "opentelemetry monorepo"
           },
           {
             "description": [
               "picasso monorepo",
               "Group packages from picasso monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/qlik-oss/picasso.js"],
             "groupName": "picasso monorepo"
           },
           {
             "description": [
               "pollyjs monorepo",
               "Group packages from pollyjs monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/Netflix/pollyjs"],
             "groupName": "pollyjs monorepo"
           },
           {
             "description": [
               "pouchdb monorepo",
               "Group packages from pouchdb monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/pouchdb/pouchdb"],
             "groupName": "pouchdb monorepo"
           },
           {
             "description": [
               "prisma monorepo",
               "Group packages from prisma monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/prisma/prisma"],
             "groupName": "prisma monorepo"
           },
           {
             "description": [
               "react monorepo",
               "Group packages from react monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/facebook/react"],
             "groupName": "react monorepo"
           },
           {
             "description": [
               "reactrouter monorepo",
               "Group packages from reactrouter monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/ReactTraining/react-router"],
             "groupName": "reactrouter monorepo"
           },
           {
             "description": [
               "reakit monorepo",
               "Group packages from reakit monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/reakit/reakit"],
             "groupName": "reakit monorepo"
           },
           {
             "description": [
               "remark monorepo",
               "Group packages from remark monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/remarkjs/remark"],
             "groupName": "remark monorepo"
           },
           {
             "description": [
               "router5 monorepo",
               "Group packages from router5 monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/router5/router5"],
             "groupName": "router5 monorepo"
           },
           {
             "description": [
               "sentry monorepo",
               "Group packages from sentry monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/getsentry/sentry-javascript"],
             "groupName": "sentry monorepo"
           },
           {
             "description": [
               "springfox monorepo",
               "Group packages from springfox monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/springfox/springfox"],
             "groupName": "springfox monorepo"
           },
           {
             "description": [
               "sanity monorepo",
               "Group packages from sanity monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/sanity-io/sanity"],
             "groupName": "sanity monorepo"
           },
           {
             "description": [
               "storybook monorepo",
               "Group packages from storybook monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/storybookjs/storybook"],
             "groupName": "storybook monorepo"
           },
           {
             "description": [
               "strapi monorepo",
               "Group packages from strapi monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/strapi/strapi"],
             "groupName": "strapi monorepo"
           },
           {
             "description": [
               "stryker monorepo",
               "Group packages from stryker monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/stryker-mutator/stryker"],
             "groupName": "stryker monorepo"
           },
           {
             "description": [
               "surveyjs monorepo",
               "Group packages from surveyjs monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/surveyjs/surveyjs"],
             "groupName": "surveyjs monorepo"
           },
           {
             "description": [
               "Swashbuckle monorepo",
               "Group packages from Swashbuckle monorepo together"
             ],
             "sourceUrlPrefixes": [
               "https://github.com/domaindrivendev/Swashbuckle.AspNetCore"
             ],
             "groupName": "Swashbuckle monorepo"
           },
           {
             "description": [
               "treat monorepo",
               "Group packages from treat monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/seek-oss/treat"],
             "groupName": "treat monorepo"
           },
           {
             "description": [
               "typefaces monorepo",
               "Group packages from typefaces monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/KyleAMathews/typefaces"],
             "groupName": "typefaces monorepo"
           },
           {
             "description": [
               "uppy monorepo",
               "Group packages from uppy monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/transloadit/uppy"],
             "groupName": "uppy monorepo"
           },
           {
             "description": [
               "vue monorepo",
               "Group packages from vue monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/vuejs/vue"],
             "groupName": "vue monorepo"
           },
           {
             "description": [
               "vuepress monorepo",
               "Group packages from vuepress monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/vuejs/vuepress"],
             "groupName": "vuepress monorepo"
           },
           {
             "description": [
               "webdriverio monorepo",
               "Group packages from webdriverio monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/webdriverio/webdriverio"],
             "groupName": "webdriverio monorepo"
           },
           {
             "description": [
               "workbox monorepo",
               "Group packages from workbox monorepo together"
             ],
             "sourceUrlPrefixes": ["https://github.com/googlechrome/workbox"],
             "groupName": "workbox monorepo"
           },
           {
             "packagePatterns": ["^babel6$"],
             "description": ["Group packages from babel6 monorepo together"],
             "groupName": "babel6 monorepo"
           },
           {
             "packagePatterns": ["^@wordpress/"],
             "description": ["Group packages from wordpress monorepo together"],
             "groupName": "wordpress monorepo"
           },
           {
             "packagePatterns": ["^@angular/material", "^@angular/cdk"],
             "description": ["Group packages from angularmaterial monorepo together"],
             "groupName": "angularmaterial monorepo"
           },
           {
             "packagePatterns": ["^com.amazonaws:aws-java-sdk-"],
             "description": ["Group packages from aws-java-sdk monorepo together"],
             "groupName": "aws-java-sdk monorepo"
           },
           {
             "packagePatterns": ["^@embroider/"],
             "description": ["Group packages from embroider monorepo together"],
             "groupName": "embroider monorepo"
           },
           {
             "packagePatterns": ["^@fullcalendar/"],
             "description": ["Group packages from fullcalendar monorepo together"],
             "groupName": "fullcalendar monorepo"
           },
           {
             "description": ["All packages published by Apollo GraphQL"],
             "sourceUrlPrefixes": ["https://github.com/apollographql/"],
             "groupName": "Apollo GraphQL packages"
           },
           {"groupName": "Font Awesome", "packagePatterns": ["^@fortawesome/"]},
           {
             "groupName": "Glimmer.js packages",
             "groupSlug": "glimmer",
             "packageNames": ["@glimmer/component", "@glimmer/tracking"]
           },
           {
             "datasources": ["go"],
             "groupName": "go-openapi packages",
             "groupSlug": "go-openapi",
             "packagePatterns": ["^github.com/go-openapi/"]
           },
           {"packagePatterns": ["^org.hibernate:"], "groupName": "hibernate core"},
           {
             "packagePatterns": ["^org.hibernate.validator:"],
             "groupName": "hibernate validator"
           },
           {"packagePatterns": ["^org.hibernate.ogm:"], "groupName": "hibernate ogm"},
           {
             "packagePatterns": ["^org.hibernate.common:"],
             "groupName": "hibernate commons"
           },
           {
             "packagePatterns": ["^illuminate/"],
             "groupName": "illuminate packages",
             "groupSlug": "illuminate"
           },
           {
             "sourceUrlPrefixes": [
               "https://github.com/jekyll/",
               "https://github.com/github/pages-gem"
             ],
             "groupName": "jekyll ecosystem packages"
           },
           {"groupName": "polymer packages", "packagePatterns": ["^@polymer/"]},
           {
             "packagePatterns": ["^io.github.resilience4j:"],
             "groupName": "resilience4j"
           },
           {
             "datasources": ["rubygems"],
             "packagePatterns": ["^omniauth"],
             "groupName": "omniauth packages"
           },
           {"groupName": "socket.io packages", "packagePatterns": ["^socket.io"]},
           {
             "groupName": "spring amqp",
             "packagePatterns": ["^org.springframework.amqp:"]
           },
           {
             "groupName": "spring android",
             "packagePatterns": ["^org.springframework.android:"]
           },
           {
             "groupName": "spring batch",
             "packagePatterns": ["^org.springframework.batch:"]
           },
           {
             "groupName": "spring boot",
             "packagePatterns": ["^org.springframework.boot:"]
           },
           {
             "groupName": "spring cloud",
             "packagePatterns": ["^org.springframework.cloud:"]
           },
           {"groupName": "spring core", "packagePatterns": ["^org.springframework:"]},
           {
             "groupName": "spring data",
             "packagePatterns": ["^org.springframework.data:"]
           },
           {
             "groupName": "spring hateoas",
             "packagePatterns": ["^org.springframework.hateoas:"]
           },
           {
             "groupName": "spring integration",
             "packagePatterns": ["^org.springframework.integration:"]
           },
           {
             "groupName": "spring kafka",
             "packagePatterns": ["^org.springframework.kafka:"]
           },
           {
             "groupName": "spring ldap",
             "packagePatterns": ["^org.springframework.ldap:"]
           },
           {
             "groupName": "spring mobile",
             "packagePatterns": ["^org.springframework.mobile:"]
           },
           {
             "groupName": "spring osgi",
             "packagePatterns": ["^org.springframework.osgi:"]
           },
           {
             "groupName": "spring restdocs",
             "packagePatterns": ["^org.springframework.restdocs:"]
           },
           {
             "groupName": "spring roo",
             "packagePatterns": ["^org.springframework.roo:"]
           },
           {
             "groupName": "spring scala",
             "packagePatterns": ["^org.springframework.scala:"]
           },
           {
             "groupName": "spring security",
             "packagePatterns": ["^org.springframework.security:"]
           },
           {
             "groupName": "spring session",
             "packagePatterns": ["^org.springframework.session:"]
           },
           {
             "groupName": "spring shell",
             "packagePatterns": ["^org.springframework.shell:"]
           },
           {
             "groupName": "spring social",
             "packagePatterns": ["^org.springframework.social:"]
           },
           {
             "groupName": "spring statemachine",
             "packagePatterns": ["^org.springframework.statemachine:"]
           },
           {
             "groupName": "spring webflow",
             "packagePatterns": ["^org.springframework.webflow:"]
           },
           {"groupName": "spring ws", "packagePatterns": ["^org.springframework.ws:"]},
           {
             "packagePatterns": ["^symfony/"],
             "groupName": "symfony packages",
             "groupSlug": "symfony"
           },
           {"packageNames": ["@types/node"]},
           {
             "packageNames": ["@types/node"],
             "updateTypes": ["major"],
             "enabled": false
           },
           {
             "datasources": ["github-tags", "github-releases"],
             "packageNames": ["actions/setup-node"],
             "allowedVersions": "<2.1.1 || > 2.1.1"
           },
           {"packageNames": ["bootstrap"], "allowedVersions": "<4.0.0"},
           {"packageNames": ["d3"], "allowedVersions": "<4.0.0"},
           {"packageNames": ["ractive"], "allowedVersions": "0.9.10"},
           {"packagePatterns": ["^d3"], "groupName": "d3"},
           {"packagePatterns": ["^ractive"], "groupName": "ractive"},
           {"packagePatterns": ["^rollup"], "groupName": "rollup"}
         ],
         "updateNotScheduled": true,
         "automerge": false,
         "ignorePaths": [
           "**/node_modules/**",
           "**/bower_components/**",
           "**/vendor/**",
           "**/examples/**",
           "**/__tests__/**",
           "**/test/**",
           "**/tests/**",
           "**/__fixtures__/**"
         ],
         "rangeStrategy": "replace",
         "prHourlyLimit": 2,
         "prConcurrentLimit": 20,
         "ignoreDeps": [],
         "packageNames": [
           "fusion-cli",
           "fusion-core",
           "fusion-test-utils",
           "fusion-tokens"
         ],
         "packagePatterns": ["^fusion-plugin-*", "^fusion-react*", "^fusion-apollo*"],
         "$schema": "https://docs.renovatebot.com/renovate-schema.json",
         "platform": "gitlab",
         "endpoint": "https://gitlab.redacted.dom/api/v4",
         "repositories": ["tobi/app"],
         "assignees": ["tobi"],
         "baseBranches": ["main"],
         "enabledManagers": ["npm"],
         "includePaths": ["client/package.json", "tools/package.json"],
         "hostRules": [
           {"hostType": "github", "domainName": "github.com", "token": "***********"}
         ],
         "logLevel": "debug",
         "token": "***********"
       }
DEBUG: Adding trailing slash to endpoint
DEBUG: GitLab version is: 13.5.3
DEBUG: Using platform gitAuthor: Automated CI Script 
DEBUG: Using baseDir: /tmp/renovate
DEBUG: Using cacheDir: /tmp/renovate/cache
DEBUG: Initializing Renovate internal cache into /tmp/renovate/cache/renovate/renovate-cache-v1
DEBUG: Commits limit = null
 INFO: Repository started (repository=tobi/app)
       "renovateVersion": "23.79.0"
DEBUG: Using localDir: /tmp/renovate/repos/gitlab/tobi/app (repository=tobi/app)
DEBUG: tobi/app default branch = main (repository=tobi/app)
DEBUG: Enabling Git FS (repository=tobi/app)
DEBUG: tobi/app http URL = https://gitlab.redacted.dom/tobi/app.git (repository=tobi/app)
DEBUG: resetMemCache() (repository=tobi/app)
DEBUG: checkOnboarding() (repository=tobi/app)
DEBUG: isOnboarded() (repository=tobi/app)
DEBUG: findFile(renovate.json) (repository=tobi/app)
DEBUG: Initializing git repository into /tmp/renovate/repos/gitlab/tobi/app (repository=tobi/app)
DEBUG: git clone completed (repository=tobi/app)
       "durationMs": 2561
DEBUG: latest commit (repository=tobi/app)
       "latestCommitDate": "2020-11-11T17:07:30+01:00"
DEBUG: Setting git author name (repository=tobi/app)
       "gitAuthorName": "Automated CI Script"
DEBUG: Setting git author email (repository=tobi/app)
       "gitAuthorEmail": "ci@redacted.dom"
DEBUG: findFile(renovate.json5) (repository=tobi/app)
DEBUG: findFile(.github/renovate.json) (repository=tobi/app)
DEBUG: findFile(.github/renovate.json5) (repository=tobi/app)
DEBUG: findFile(.gitlab/renovate.json) (repository=tobi/app)
DEBUG: findFile(.gitlab/renovate.json5) (repository=tobi/app)
DEBUG: findFile(.renovaterc) (repository=tobi/app)
DEBUG: findFile(.renovaterc.json) (repository=tobi/app)
DEBUG: config file not found (repository=tobi/app)
DEBUG: findPr(renovate/configure, Configure Renovate, !open) (repository=tobi/app)
DEBUG: Found closed onboarding PR (repository=tobi/app)
DEBUG: Repo is not onboarded and no merged PRs exist (repository=tobi/app)
DEBUG: Getting comments for #1693 (repository=tobi/app)
DEBUG: Found 5 comments (repository=tobi/app)
DEBUG: Ensuring comment "Renovate is disabled" in #1693 (repository=tobi/app)
DEBUG: Added comment (repository=tobi%2Fapp)
       "issueNo": 1693
 INFO: Repository is disabled - skipping (repository=tobi/app)
DEBUG: Repository timing splits (milliseconds) (repository=tobi/app)
       "splits": {},
       "total": 4013
DEBUG: http statistics (repository=tobi/app)
       "hostStats": ["gitlab.redacted.dom, 4 requests, 154ms request average, 0ms queue average"],
       "totalRequests": 4
 INFO: Repository finished (repository=tobi/app)
       "durationMs": 4013
DEBUG: Renovate exiting
Job succeeded

This is the section where it attempts to find a config file in the repository:

DEBUG: findFile(renovate.json) (repository=tobi/app)
DEBUG: Initializing git repository into /tmp/renovate/repos/gitlab/tobi/app (repository=tobi/app)
DEBUG: git clone completed (repository=tobi/app)
       "durationMs": 2561
DEBUG: latest commit (repository=tobi/app)
       "latestCommitDate": "2020-11-11T17:07:30+01:00"
DEBUG: Setting git author name (repository=tobi/app)
       "gitAuthorName": "Automated CI Script"
DEBUG: Setting git author email (repository=tobi/app)
       "gitAuthorEmail": "ci@redacted.dom"
DEBUG: findFile(renovate.json5) (repository=tobi/app)
DEBUG: findFile(.github/renovate.json) (repository=tobi/app)
DEBUG: findFile(.github/renovate.json5) (repository=tobi/app)
DEBUG: findFile(.gitlab/renovate.json) (repository=tobi/app)
DEBUG: findFile(.gitlab/renovate.json5) (repository=tobi/app)

Do you have a config file in the repository ? It looks like you have perhaps put the config on the bot config file?

Thanks @rarkins for your reply.

I believe I have a config file in the repository, specified with export RENOVATE_CONFIG_FILE=./tools/ci/renovate.json (it’s commented out in my first comment, but I re-enabled it later).

What would be the difference to a bot config file?

Renovate config is divided into two parts:

  1. Config which is exclusive to the bot administrator. Either to help the bot get started, or because you shouldn't give end users control over certain settings. You only need to put stuff here which overrides Renovate's defaults.

  2. Repository config, which any repository admin can control

Usually one bot is used for many repositories.

While you can include most repository config options in the bot config too, it's not recommended.

RENOVATE_CONFIG_FILE controls where the bot config file is located, not where the repository config file is. You need to have it in one of the supported locations (e.g. renovate.json or .gitlab/renovate.json).

Aha! I was not aware there are two config files for different purposes.

Gonna try that again tomorrow (as you can see in my comments, I already tried the config in .renovaterc and that was even worse… but I’ll take a nap and start over.)

Remains the question why the on-boarding worked with this setup; shouldn’t it have thrown the same errors at the time?

During onboarding it doesn't care if there's no repository config, because that's the point of the onboarding MR. But once you've merged it then Renovate's logic is changed - it's basically like "this repository was originally onboarded - I found the MR - but now there's no config so I guess they uninstalled me and I won't bother them again". Otherwise if you wanted to get rid of the bot and delete its config it would be pretty annoying if it keeps trying to re-onboard you.

OK gave it another go but it’s not looking good.

I created another on-boarding MR using the RENOVATE_CONFIG_FILE variable. ✔️

I then moved the config to the top-level, default renovate.json (see below). ✔️

Finally, I triggered the pipeline for the renovate/configure branch. ✔️

Again, I got the same error as before, Renovate not finding my configuration. ❌

renovate.json
{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",

"extends": ["config:base", ":preserveSemverRanges"],

"platform": "gitlab",
"endpoint": "https://gitlab.redacted.dom/api/v4",
"repositories": ["app/tobi"],
"assignees": ["tobi"],
"baseBranches": ["renovate/configure"],
"enabledManagers": ["npm"],
"includePaths": ["client/package.json", "tools/package.json"],

"packageRules": [
{
"packageNames": ["bootstrap"],
"allowedVersions": "<4.0.0"
},
{
"packageNames": ["d3"],
"allowedVersions": "<4.0.0"
},
{
"packageNames": ["ractive"],
"allowedVersions": "0.9.10"
},
{
"packagePatterns": ["^d3"],
"groupName": "d3"
},
{
"packagePatterns": ["^ractive"],
"groupName": "ractive"
},
{
"packagePatterns": ["^rollup"],
"groupName": "rollup"
}
]
}

Job in gitlab-ci.yml
update_dependencies:
  stage: update
  image: node:12
  cache: {}
  variables:
    LOG_LEVEL: debug
  before_script:
    - yarn global add renovate@latest
    #- export RENOVATE_CONFIG_FILE=./tools/ci/renovate.json
  script:
    #- "renovate-config-validator"
    - "renovate --token ${GITLAB_AUTH_TOKEN}"
  only:
    - schedules
  tags:
    - docker
Debug output
Running with gitlab-runner 13.3.1 (738bbe5a)
  on sil-runner zKU4x_uy
Preparing the "docker" executor
00:10
Using Docker executor with image node:12 ...
Pulling docker image gitlab/gitlab-runner-helper:x86_64-6fbc7474 ...
Using docker image sha256:4ab73fe41bd466dff16a0e732b568862dce676f1d49de2a85309349266c882f8 for gitlab/gitlab-runner-helper:x86_64-6fbc7474 ...
Pulling docker image node:12 ...
Using docker image sha256:1f560ce4ce7ef0c10f927fccf4a85f678e976d88b176ebaffd801b6c947924f5 for node:12 ...
Preparing environment
00:02
Running on runner-zku4xuy-project-247-concurrent-0 via nirvana...
Getting source from Git repository
00:04
Fetching changes...
Reinitialized existing Git repository in /builds/tobi/app/.git/
Checking out ac2497a9 as renovate/configure...
Removing .gradle/
Removing client/.gradle/
Skipping Git submodules setup
Executing "step_script" stage of the job script
00:31
$ yarn global add renovate@latest
yarn global v1.22.5
[1/4] Resolving packages...
warning renovate > jsdom > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning renovate > jsdom > request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
warning renovate > re2 > node-gyp > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning renovate > jsdom > request > har-validator@5.1.5: this library is no longer supported
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "renovate@23.81.0" with binaries:
      - renovate
      - renovate-config-validator
Done in 25.19s.
$ renovate --token ${GITLAB_AUTH_TOKEN}
DEBUG: Using RE2 as regex engine
DEBUG: Parsing configs
DEBUG: Checking for config file in /builds/tobi/app/config
DEBUG: No config file found on disk - skipping
DEBUG: File config
       "config": {}
DEBUG: CLI config
       "config": {"token": "***********"}
DEBUG: Env config
       "config": {
         "hostRules": [
           {"hostType": "github", "domainName": "github.com", "token": "***********"}
         ],
         "logLevel": "debug"
       }
DEBUG: Combined config
       "config": {
         "hostRules": [
           {"hostType": "github", "domainName": "github.com", "token": "***********"}
         ],
         "logLevel": "debug",
         "token": "***********"
       }
DEBUG: Using default github endpoint: https://api.github.com/
DEBUG: GitHub failure: Bad credentials
       "token": "***********",
       "err": {
         "name": "HTTPError",
         "timings": {
           "start": 1605174162655,
           "socket": 1605174162658,
           "lookup": 1605174162719,
           "connect": 1605174162755,
           "secureConnect": 1605174162809,
           "upload": 1605174162810,
           "response": 1605174162974,
           "end": 1605174162978,
           "phases": {
             "wait": 3,
             "dns": 61,
             "tcp": 36,
             "tls": 54,
             "request": 1,
             "firstByte": 164,
             "download": 4,
             "total": 323
           }
         },
         "message": "Response code 401 (Unauthorized)",
         "stack": "HTTPError: Response code 401 (Unauthorized)\n    at Request. (/usr/local/share/.config/yarn/global/node_modules/got/dist/source/as-promise/index.js:117:42)\n    at processTicksAndRejections (internal/process/task_queues.js:97:5)",
         "options": {
           "headers": {
             "user-agent": "https://github.com/renovatebot/renovate",
             "accept-encoding": "gzip, deflate",
             "accept": "application/vnd.github.v3+json",
             "authorization": "***********"
           },
           "url": "https://api.github.com/user",
           "username": "",
           "password": "",
           "method": "GET",
           "http2": false
         },
         "response": {
           "statusCode": 401,
           "statusMessage": "Unauthorized",
           "body": {
             "message": "Bad credentials",
             "documentation_url": "https://docs.github.com/rest"
           },
           "headers": {
             "date": "Thu, 12 Nov 2020 09:42:43 GMT",
             "content-type": "application/json; charset=utf-8",
             "content-length": "80",
             "connection": "close",
             "server": "GitHub.com",
             "status": "401 Unauthorized",
             "x-github-media-type": "github.v3; format=json",
             "x-ratelimit-limit": "60",
             "x-ratelimit-remaining": "58",
             "x-ratelimit-reset": "1605177170",
             "x-ratelimit-used": "2",
             "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset",
             "access-control-allow-origin": "*",
             "strict-transport-security": "max-age=31536000; includeSubdomains; preload",
             "x-frame-options": "deny",
             "x-content-type-options": "nosniff",
             "x-xss-protection": "1; mode=block",
             "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin",
             "content-security-policy": "default-src 'none'",
             "vary": "Accept-Encoding, Accept, X-Requested-With",
             "x-github-request-id": "A864:03C4:4CACEBA:5633332:5FAD0392"
           },
           "httpVersion": "1.1"
         }
       }
DEBUG: Error authenticating with GitHub
       "err": {
         "hostType": "github",
         "err": {
           "name": "HTTPError",
           "timings": {
             "start": 1605174162655,
             "socket": 1605174162658,
             "lookup": 1605174162719,
             "connect": 1605174162755,
             "secureConnect": 1605174162809,
             "upload": 1605174162810,
             "response": 1605174162974,
             "end": 1605174162978,
             "phases": {
               "wait": 3,
               "dns": 61,
               "tcp": 36,
               "tls": 54,
               "request": 1,
               "firstByte": 164,
               "download": 4,
               "total": 323
             }
           },
           "message": "Response code 401 (Unauthorized)",
           "stack": "HTTPError: Response code 401 (Unauthorized)\n    at Request. (/usr/local/share/.config/yarn/global/node_modules/got/dist/source/as-promise/index.js:117:42)\n    at processTicksAndRejections (internal/process/task_queues.js:97:5)",
           "options": {
             "headers": {
               "user-agent": "https://github.com/renovatebot/renovate",
               "accept-encoding": "gzip, deflate",
               "accept": "application/vnd.github.v3+json",
               "authorization": "***********"
             },
             "url": "https://api.github.com/user",
             "username": "",
             "password": "",
             "method": "GET",
             "http2": false
           },
           "response": {
             "statusCode": 401,
             "statusMessage": "Unauthorized",
             "body": {
               "message": "Bad credentials",
               "documentation_url": "https://docs.github.com/rest"
             },
             "headers": {
               "date": "Thu, 12 Nov 2020 09:42:43 GMT",
               "content-type": "application/json; charset=utf-8",
               "content-length": "80",
               "connection": "close",
               "server": "GitHub.com",
               "status": "401 Unauthorized",
               "x-github-media-type": "github.v3; format=json",
               "x-ratelimit-limit": "60",
               "x-ratelimit-remaining": "58",
               "x-ratelimit-reset": "1605177170",
               "x-ratelimit-used": "2",
               "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset",
               "access-control-allow-origin": "*",
               "strict-transport-security": "max-age=31536000; includeSubdomains; preload",
               "x-frame-options": "deny",
               "x-content-type-options": "nosniff",
               "x-xss-protection": "1; mode=block",
               "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin",
               "content-security-policy": "default-src 'none'",
               "vary": "Accept-Encoding, Accept, X-Requested-With",
               "x-github-request-id": "A864:03C4:4CACEBA:5633332:5FAD0392"
             },
             "httpVersion": "1.1"
           }
         },
         "message": "external-host-error",
         "stack": "Error: external-host-error\n    at handleGotError (/usr/local/share/.config/yarn/global/node_modules/renovate/dist/util/http/github.js:68:19)\n    at GithubHttp.request (/usr/local/share/.config/yarn/global/node_modules/renovate/dist/util/http/github.js:150:13)\n    at processTicksAndRejections (internal/process/task_queues.js:97:5)"
       }
FATAL: Authentication failure
DEBUG: Renovate exiting
 INFO: Renovate is exiting with a non-zero code due to the following logged errors
       "loggerErrors": [
         {
           "name": "renovate",
           "level": 60,
           "logContext": "_cQVjUHoW",
           "msg": "Authentication failure"
         }
       ]
ERROR: Job failed: exit code 1

Renovate is meant to be run against the full repo, not any specific branch. It creates and removes its own branches regularly.

If it's the same repo as before, do this:

  • Delete renovate/configure
  • Find and rename the previous "Configure Renovate" onboarding MR
  • Run it again against the repo

So I need to add renovate.json to my main branch during on-boarding?

The purpose of the onboarding MR is for you to merge it so that the renovate.json ends up in your main branch. You can edit it or even rename it within the MR branch before merging, as long as the filename is one of the supported ones mentioned above.

So after renaming the on-boarding branch again, I ran the pipeline and now got the first Renovate MRs… I suspect this is due to the remaining renovate.json after a previous merge.

Not really helpful for solving this issue, just more confusing – don’t want to sound too negative, but it is as it is.

Thanks for the assistance, @rarkins. Gonna close this issue now.