Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(repology): Correctly resolve packageName to repology project again #7997

Merged
merged 6 commits into from Dec 16, 2020
Merged

fix(repology): Correctly resolve packageName to repology project again #7997

merged 6 commits into from Dec 16, 2020

Conversation

danez
Copy link
Contributor

@danez danez commented Dec 14, 2020

Context:

#7979

Fixes #7988

First of all sorry that I broke this. In the last PR I completely missed that not ever package is represented as it's own project in repology but sometimes they are grouped together (like gcc project containspackages gcc, gcc-default, gcc-docs, ...)
Now to fix this I had to bring back the usage of https://repology.org/tools/project-by because this tool can resolve a package-name to a project-name and then redirects to the correct API URL.

If the request to this tool returns HTTP code 403, it means the repository (e.g. homebrew_cask) is not supported by this tool. In this case and only in this case we try to request the API with the package name as the project name. This won't work always but in some cases it might find the actual package.

Changes:

  • Bring back calling https://repology.org/tools/project-by first for binary packages then for source packages.
  • Restructure the code to be more reusable for API call

Documentation (please check one with an [x])

  • I have updated the documentation, or
  • No documentation update is required

How I've tested my work (please tick one)

I have verified these changes via:

  • Code inspection only, or
  • Newly added unit tests, or
  • Unit tests + ran on a real repository

As a fallback now do the direct API call, but only if the repository is not supported by the resolver tool
@rarkins
Copy link
Collaborator

rarkins commented Dec 14, 2020

What impact is this likely to have on API calls per package? And if there's a project-package mapping that needs to be discovered, can it be cached for a long period (longer than regular lookups)?

@danez
Copy link
Contributor Author

danez commented Dec 15, 2020

What impact is this likely to have on API calls per package? And if there's a project-package mapping that needs to be discovered, can it be cached for a long period (longer than regular lookups)?

It is now basically the same as before #7833.
For repos that tool/by-project supports (most linux distros) the best case is now 1 request, worst case 2 requests( first 404, second works if success or also 404).
For other repos that are not supported by the tool it is always 2 requests( first to the tool which returns 403, then to the api directly)

There is caching in place for each package, not sure though how long that caches. I guess its the default package cache?

Additional caching could be added to store the package->project mapping, so when rechecking the version we would already know where to look(1 request). The invalidation might be a little more involved, as we need to do that if we cannot find the package in the project anymore or the project itself. If this is desired i wouldn't want to do it in this pr and rather spin up a second one afterwards.

Copy link
Member

@viceice viceice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please do some real tests, I would like to see some sample pr's

lib/datasource/repology/index.spec.ts Show resolved Hide resolved
@danez
Copy link
Contributor Author

danez commented Dec 15, 2020

Here is the sample repo: https://github.com/danez/repology-test/pulls
I used the samples from the discussion together with the example from #7833

Log
DEBUG: File config
       "config": {
         "logLevel": "DEBUG",
         "platform": "github",
         "token": "***********",
         "repositories": ["danez/repology-test"]
       }
DEBUG: CLI config
       "config": {}
DEBUG: Env config
       "config": {"hostRules": []}
DEBUG: Combined config
       "config": {
         "logLevel": "DEBUG",
         "platform": "github",
         "token": "***********",
         "repositories": ["danez/repology-test"],
         "hostRules": []
       }
DEBUG: Using default github endpoint: https://api.github.com/
DEBUG: GitHub 404
       "url": "https://api.github.com/user/emails"
DEBUG: Cannot read user/emails endpoint on GitHub to retrieve gitAuthor
DEBUG: Authenticated as GitHub user: danez
DEBUG: Using default gitAuthor: Renovate Bot <renovate@whitesourcesoftware.com>
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=danez/repology-test)
       "renovateVersion": "0.0.0-semantic-release"
DEBUG: Using localDir: /tmp/renovate/repos/github/danez/repology-test (repository=danez/repology-test)
DEBUG: initRepo("danez/repology-test") (repository=danez/repology-test)
DEBUG: Overriding default GitHub endpoint (repository=danez/repology-test)
       "endpoint": "https://api.github.com/"
DEBUG: danez/repology-test default branch = main (repository=danez/repology-test)
DEBUG: Using personal access token for git init (repository=danez/repology-test)
DEBUG: resetMemCache() (repository=danez/repology-test)
DEBUG: checkOnboarding() (repository=danez/repology-test)
DEBUG: isOnboarded() (repository=danez/repology-test)
DEBUG: findFile(renovate.json) (repository=danez/repology-test)
DEBUG: Initializing git repository into /tmp/renovate/repos/github/danez/repology-test (repository=danez/repology-test)
DEBUG: git clone completed (repository=danez/repology-test)
       "durationMs": 1831
DEBUG: latest commit (repository=danez/repology-test)
       "latestCommitDate": "2020-12-15T12:09:07+01:00"
DEBUG: Setting git author name (repository=danez/repology-test)
       "gitAuthorName": "Renovate Bot"
DEBUG: Setting git author email (repository=danez/repology-test)
       "gitAuthorEmail": "renovate@whitesourcesoftware.com"
DEBUG: config file exists (repository=danez/repology-test)
DEBUG: Retrieving issueList (repository=danez/repology-test)
DEBUG: Retrieved 0 issues (repository=danez/repology-test)
DEBUG: Repo is onboarded (repository=danez/repology-test)
DEBUG: Found renovate.json config file (repository=danez/repology-test)
DEBUG: Repository config (repository=danez/repology-test)
       "fileName": "renovate.json",
       "config": {
         "$schema": "https://docs.renovatebot.com/renovate-schema.json",
         "extends": ["config:base", ":prHourlyLimitNone"],
         "regexManagers": [
           {
             "fileMatch": ["(^|/)Dockerfile(\\.[^/]+|)$"],
             "matchStrings": [
               "datasource=(?<datasource>.+?) depName=(?<depName>.+?)( versioning=(?<versioning>.+?))?\\sENV .+?_VERSION=\"(?<currentValue>[^\"]+)\"\\s"
             ],
             "versioningTemplate": "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}"
           },
           {
             "fileMatch": ["(^|/)Dockerfile(\\.[^/]+|)$"],
             "matchStrings": [
               "(?:RUN apk add --no-cache\\s+|\\\\\\s+)(?<depName>[a-zA-Z0-9-]+)=(?<currentValue>[a-zA-Z0-9-._]+)"
             ],
             "versioningTemplate": "loose",
             "datasourceTemplate": "repology",
             "lookupNameTemplate": "alpine_3_12/{{depName}}"
           }
         ]
       }
DEBUG: migrateAndValidate() (repository=danez/repology-test)
DEBUG: No config migration necessary (repository=danez/repology-test)
DEBUG: massaged config (repository=danez/repology-test)
       "config": {
         "$schema": "https://docs.renovatebot.com/renovate-schema.json",
         "extends": ["config:base", ":prHourlyLimitNone"],
         "regexManagers": [
           {
             "fileMatch": ["(^|/)Dockerfile(\\.[^/]+|)$"],
             "matchStrings": [
               "datasource=(?<datasource>.+?) depName=(?<depName>.+?)( versioning=(?<versioning>.+?))?\\sENV .+?_VERSION=\"(?<currentValue>[^\"]+)\"\\s"
             ],
             "versioningTemplate": "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}"
           },
           {
             "fileMatch": ["(^|/)Dockerfile(\\.[^/]+|)$"],
             "matchStrings": [
               "(?:RUN apk add --no-cache\\s+|\\\\\\s+)(?<depName>[a-zA-Z0-9-]+)=(?<currentValue>[a-zA-Z0-9-._]+)"
             ],
             "versioningTemplate": "loose",
             "datasourceTemplate": "repology",
             "lookupNameTemplate": "alpine_3_12/{{depName}}"
           }
         ]
       }
DEBUG: migrated config (repository=danez/repology-test)
       "config": {
         "$schema": "https://docs.renovatebot.com/renovate-schema.json",
         "extends": ["config:base", ":prHourlyLimitNone"],
         "regexManagers": [
           {
             "fileMatch": ["(^|/)Dockerfile(\\.[^/]+|)$"],
             "matchStrings": [
               "datasource=(?<datasource>.+?) depName=(?<depName>.+?)( versioning=(?<versioning>.+?))?\\sENV .+?_VERSION=\"(?<currentValue>[^\"]+)\"\\s"
             ],
             "versioningTemplate": "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}"
           },
           {
             "fileMatch": ["(^|/)Dockerfile(\\.[^/]+|)$"],
             "matchStrings": [
               "(?:RUN apk add --no-cache\\s+|\\\\\\s+)(?<depName>[a-zA-Z0-9-]+)=(?<currentValue>[a-zA-Z0-9-._]+)"
             ],
             "versioningTemplate": "loose",
             "datasourceTemplate": "repology",
             "lookupNameTemplate": "alpine_3_12/{{depName}}"
           }
         ]
       }
DEBUG: Found repo ignorePaths (repository=danez/repology-test)
       "ignorePaths": [
         "**/node_modules/**",
         "**/bower_components/**",
         "**/vendor/**",
         "**/examples/**",
         "**/__tests__/**",
         "**/test/**",
         "**/tests/**",
         "**/__fixtures__/**"
       ]
DEBUG: detectSemanticCommits() (repository=danez/repology-test)
DEBUG: getCommitMessages (repository=danez/repology-test)
DEBUG: Semantic commits detection: unknown (repository=danez/repology-test)
DEBUG: No semantic commits detected (repository=danez/repology-test)
DEBUG: Setting branchPrefix: renovate/ (repository=danez/repology-test)
DEBUG: Cannot read vulnerability alerts (repository=danez/repology-test)
DEBUG: No vulnerability alerts found (repository=danez/repology-test)
DEBUG: processRepo() (repository=danez/repology-test)
DEBUG: No baseBranches (repository=danez/repology-test)
DEBUG: extract() (repository=danez/repology-test)
DEBUG: Setting current branch to main (repository=danez/repology-test)
DEBUG: latest commit (repository=danez/repology-test)
       "branchName": "main",
       "latestCommitDate": "2020-12-15T12:09:07+01:00"
DEBUG: Using file match: (^|/)tasks/[^/]+\.ya?ml$ for manager ansible (repository=danez/repology-test)
DEBUG: Using file match: (^|/)requirements\.ya?ml$ for manager ansible-galaxy (repository=danez/repology-test)
DEBUG: Using file match: azure.*pipelines?.*\.ya?ml$ for manager azure-pipelines (repository=danez/repology-test)
DEBUG: Using file match: (^|/)batect(-bundle)?\.yml$ for manager batect (repository=danez/repology-test)
DEBUG: Using file match: (^|/)batect$ for manager batect-wrapper (repository=danez/repology-test)
DEBUG: Using file match: (^|/)WORKSPACE(|\.bazel)$ for manager bazel (repository=danez/repology-test)
DEBUG: Using file match: \.bzl$ for manager bazel (repository=danez/repology-test)
DEBUG: Using file match: buildkite\.ya?ml for manager buildkite (repository=danez/repology-test)
DEBUG: Using file match: \.buildkite/.+\.ya?ml$ for manager buildkite (repository=danez/repology-test)
DEBUG: Using file match: (^|/)Gemfile$ for manager bundler (repository=danez/repology-test)
DEBUG: Using file match: (^|/)Cargo.toml$ for manager cargo (repository=danez/repology-test)
DEBUG: Using file match: (^|/).circleci/config.yml$ for manager circleci (repository=danez/repology-test)
DEBUG: Using file match: (^|/)Podfile$ for manager cocoapods (repository=danez/repology-test)
DEBUG: Using file match: (^|/)([\w-]*)composer.json$ for manager composer (repository=danez/repology-test)
DEBUG: Using file match: (^|/)deps\.edn$ for manager deps-edn (repository=danez/repology-test)
DEBUG: Using file match: (^|/)docker-compose[^/]*\.ya?ml$ for manager docker-compose (repository=danez/repology-test)
DEBUG: Using file match: (^|/|\.)Dockerfile$ for manager dockerfile (repository=danez/repology-test)
DEBUG: Using file match: (^|/)Dockerfile\.[^/]*$ for manager dockerfile (repository=danez/repology-test)
DEBUG: Using file match: (^|/).drone.yml$ for manager droneci (repository=danez/repology-test)
DEBUG: Using file match: (^|/).gitmodules$ for manager git-submodules (repository=danez/repology-test)
DEBUG: Using file match: ^\.github/workflows/[^/]+\.ya?ml$ for manager github-actions (repository=danez/repology-test)
DEBUG: Using file match: ^\.gitlab-ci\.yml$ for manager gitlabci (repository=danez/repology-test)
DEBUG: Using file match: ^\.gitlab-ci\.yml$ for manager gitlabci-include (repository=danez/repology-test)
DEBUG: Using file match: (^|/)go.mod$ for manager gomod (repository=danez/repology-test)
DEBUG: Using file match: \.gradle(\.kts)?$ for manager gradle (repository=danez/repology-test)
DEBUG: Using file match: (^|/)gradle.properties$ for manager gradle (repository=danez/repology-test)
DEBUG: Using file match: (^|/)gradle.properties$ for manager gradle-lite (repository=danez/repology-test)
DEBUG: Using file match: \.gradle(\.kts)?$ for manager gradle-lite (repository=danez/repology-test)
DEBUG: Using file match: (^|/)gradle/wrapper/gradle-wrapper.properties$ for manager gradle-wrapper (repository=danez/repology-test)
DEBUG: Using file match: (^|/)requirements\.yaml$ for manager helm-requirements (repository=danez/repology-test)
DEBUG: Using file match: (^|/)values.yaml$ for manager helm-values (repository=danez/repology-test)
DEBUG: Using file match: (^|/)helmfile.yaml$ for manager helmfile (repository=danez/repology-test)
DEBUG: Using file match: (^|/)Chart.yaml$ for manager helmv3 (repository=danez/repology-test)
DEBUG: Using file match: ^Formula/[^/]+[.]rb$ for manager homebrew (repository=danez/repology-test)
DEBUG: Using file match: \.html?$ for manager html (repository=danez/repology-test)
DEBUG: Using file match: (^|/)plugins\.txt for manager jenkins (repository=danez/repology-test)
DEBUG: Using file match: (^|/)kustomization\.yaml for manager kustomize (repository=danez/repology-test)
DEBUG: Using file match: (^|/)project\.clj$ for manager leiningen (repository=danez/repology-test)
DEBUG: Using file match: \.pom\.xml$ for manager maven (repository=danez/repology-test)
DEBUG: Using file match: (^|/)pom\.xml$ for manager maven (repository=danez/repology-test)
DEBUG: Using file match: (^|/)package.js$ for manager meteor (repository=danez/repology-test)
DEBUG: Using file match: (^|/)mix\.exs$ for manager mix (repository=danez/repology-test)
DEBUG: Using file match: ^.node-version$ for manager nodenv (repository=danez/repology-test)
DEBUG: Using file match: (^|/)package.json$ for manager npm (repository=danez/repology-test)
DEBUG: Using file match: \.(?:cs|fs|vb)proj$ for manager nuget (repository=danez/repology-test)
DEBUG: Using file match: \.(?:props|targets)$ for manager nuget (repository=danez/repology-test)
DEBUG: Using file match: \.config\/dotnet-tools\.json$ for manager nuget (repository=danez/repology-test)
DEBUG: Using file match: (^|/)\.nvmrc$ for manager nvm (repository=danez/repology-test)
DEBUG: Using file match: (^|/)([\w-]*)requirements.(txt|pip)$ for manager pip_requirements (repository=danez/repology-test)
DEBUG: Using file match: (^|/)setup.py$ for manager pip_setup (repository=danez/repology-test)
DEBUG: Using file match: (^|/)Pipfile$ for manager pipenv (repository=danez/repology-test)
DEBUG: Using file match: (^|/)pyproject\.toml$ for manager poetry (repository=danez/repology-test)
DEBUG: Using file match: (^|/)\.pre-commit-config\.yaml$ for manager pre-commit (repository=danez/repology-test)
DEBUG: Using file match: (^|/)pubspec\.ya?ml$ for manager pub (repository=danez/repology-test)
DEBUG: Using file match: (^|/)Dockerfile(\.[^/]+|)$ for manager regex (repository=danez/repology-test)
DEBUG: Using file match: (^|/)Dockerfile(\.[^/]+|)$ for manager regex (repository=danez/repology-test)
DEBUG: Using file match: (^|/)\.ruby-version$ for manager ruby-version (repository=danez/repology-test)
DEBUG: Using file match: \.sbt$ for manager sbt (repository=danez/repology-test)
DEBUG: Using file match: project/[^/]*.scala$ for manager sbt (repository=danez/repology-test)
DEBUG: Using file match: (^|/)setup\.cfg$ for manager setup-cfg (repository=danez/repology-test)
DEBUG: Using file match: (^|/)Package\.swift for manager swift (repository=danez/repology-test)
DEBUG: Using file match: \.tf$ for manager terraform (repository=danez/repology-test)
DEBUG: Using file match: (^|/)\.terraform-version$ for manager terraform-version (repository=danez/repology-test)
DEBUG: Using file match: (^|/)terragrunt\.hcl$ for manager terragrunt (repository=danez/repology-test)
DEBUG: Using file match: ^.travis.yml$ for manager travis (repository=danez/repology-test)
DEBUG: Matched 1 file(s) for manager dockerfile: Dockerfile (repository=danez/repology-test)
DEBUG: Matched 1 file(s) for manager regex: Dockerfile (repository=danez/repology-test)
DEBUG: Matched 1 file(s) for manager regex: Dockerfile (repository=danez/repology-test)
DEBUG: Found dockerfile package files (repository=danez/repology-test)
DEBUG: Found regex package files (repository=danez/repology-test)
DEBUG: Found regex package files (repository=danez/repology-test)
DEBUG: Found 3 package file(s) (repository=danez/repology-test)
 INFO: Dependency extraction complete (repository=danez/repology-test)
       "baseBranch": "main",
       "stats": {
         "managers": {
           "dockerfile": {"fileCount": 1, "depCount": 1},
           "regex": {"fileCount": 2, "depCount": 6}
         },
         "total": {"fileCount": 3, "depCount": 7}
       }
DEBUG: Repology does not support tools/project-by lookups for repository. Will try direct API access now (repository=danez/repology-test)
       "repoName": "homebrew_casks",
       "pkgName": "phpstorm",
       "err": {
         "name": "HTTPError",
         "timings": {
           "start": 1608030720070,
           "socket": 1608030720070,
           "lookup": 1608030720078,
           "connect": 1608030720181,
           "secureConnect": 1608030720278,
           "upload": 1608030720278,
           "response": 1608030721375,
           "end": 1608030721377,
           "phases": {
             "wait": 0,
             "dns": 8,
             "tcp": 103,
             "tls": 97,
             "request": 0,
             "firstByte": 1097,
             "download": 2,
             "total": 1307
           }
         },
         "message": "Response code 403 (FORBIDDEN)",
         "stack": "HTTPError: Response code 403 (FORBIDDEN)\n    at Request.<anonymous> (/workspaces/renovate/node_modules/got/dist/source/as-promise/index.js:117:42)\n    at processTicksAndRejections (internal/process/task_queues.js:93:5)",
         "options": {
           "headers": {
             "user-agent": "https://github.com/renovatebot/renovate",
             "accept-encoding": "gzip, deflate",
             "accept": "application/json"
           },
           "url": "https://repology.org/tools/project-by?repo=homebrew_casks&name_type=binname&target_page=api_v1_project&noautoresolve=on&name=phpstorm",
           "username": "",
           "password": "",
           "method": "GET",
           "http2": false
         },
         "response": {
           "statusCode": 403,
           "statusMessage": "FORBIDDEN",
           "body": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n\t<meta charset=\"utf-8\">\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\n\t<meta name=\"description\" content=\"Multiple package repositories analyzer\">\n\t<meta name=\"keywords\" content=\"repository, package, packages, version\">\n\t<meta name=\"author\" content=\"Dmitry Marakasov\">\n\t<meta http-equiv=\"robots\" content=\"noindex\">\n\t<title>Cannot find project - Repology</title>\n\t<link rel=\"stylesheet\" href=\"/static/bootstrap.min.v3.3.7.css\">\n\t<link rel=\"stylesheet\" href=\"/static/repology.v20.css\">\n\t<link rel=\"icon\" href=\"/static/repology.v1.ico\" sizes=\"16x16 32x32 64x64\" type=\"image/x-icon\">\n\t<link rel=\"search\" type=\"application/opensearchdescription+xml\" title=\"Repology packages\" href=\"/opensearch/project.xml\">\n\t<link rel=\"search\" type=\"application/opensearchdescription+xml\" title=\"Repology maintainers\" href=\"/opensearch/maintainer.xml\">\n</head>\n<body>\n\n\n<nav class=\"navbar navbar-default navbar-static-top\">\n\t<div class=\"container\">\n\t\t<div class=\"navbar-header\">\n\t\t\t<button type=\"button\" class=\"navbar-toggle collapsed\" data-toggle=\"collapse\" data-target=\"#repology-navbar-collapse\" aria-expanded=\"false\">\n\t\t\t\t<span class=\"sr-only\">Toggle navigation</span>\n\t\t\t\t<span class=\"icon-bar\"></span>\n\t\t\t\t<span class=\"icon-bar\"></span>\n\t\t\t\t<span class=\"icon-bar\"></span>\n\t\t\t</button>\n\t\t\t<a class=\"navbar-brand\" href=\"/\">\n\t\t\t\t<img alt=\"Repology\" src=\"/static/repology40x40.v1.png\" width=\"40\" height=\"40\">\n\t\t\t</a>\n\t\t</div>\n\n\t\t<div class=\"collapse navbar-collapse\" id=\"repology-navbar-collapse\">\n\t\t\t<ul class=\"nav navbar-nav\">\n\t\t\t\t<li><a href=\"/projects/\">Projects</a></li>\n\t\t\t\t<li><a href=\"/maintainers/\">Maintainers</a></li>\n\t\t\t\t<li><a href=\"/repositories/statistics\">Repositories</a></li>\n\t\t\t\t<li class=\"active\"><a href=\"/tools\">Tools</a></li>\n\t\t\t</ul>\n\t\t\t<ul class=\"nav navbar-nav navbar-right\">\n\t\t\t\t<li><a href=\"/news\">News</a></li>\n\t\t\t\t<li><a href=\"/docs\">Docs</a></li>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</nav>\n\n<div class=\"container\">\n\t<h1 class=\"page-header\">Cannot find project</h1>\n</div>\n\n\n<div class=\"container\">\n\n<div class=\"alert alert-danger\" role=\"alert\">\n\t<p>This link was supposed to redirect you to Repology project corresponding to\nbinary\tpackage name <b>phpstorm</b> in repository identified as <b>homebrew_casks</b>,\n\tbut it has failed\n\tbecause the specified repository is not yet supported for this kind of redirects. Please submit an <a href=\"https://github.com/repology/repology-webapp/issues\">issue</a> if you need support for this repository.\n\t</p>\n\t<p>You may want to report to the site you came from that their link need correction.</p>\n</div>\n\n</div>\n\n<footer class=\"footer\">\n\t<div class=\"container\">\n\t\t<p class=\"pull-right footer-links\">\n\t\t\tGitHub repositories:\n\t\t\t<a href=\"https://github.com/repology/repology-webapp\">webapp</a>,\n\t\t\t<a href=\"https://github.com/repology/repology-updater\">updater</a>,\n\t\t\t<a href=\"https://github.com/repology/repology-rules\">ruleset</a>\n\t\t</p>\n\t\t<p>\n\t\t\tCopyright (C) 2016-2020 Dmitry Marakasov &lt;<a href=\"mailto:amdmi3@amdmi3.ru\" rel=\"author\">amdmi3@amdmi3.ru</a>&gt;.<br>\n\t\t\tCode licensed under GPLv3+.\n\t\t</p>\n\t</div>\n</footer>\n\n<script src=\"/static/jquery-3.1.1.min.js\"></script>\n<script src=\"/static/bootstrap.min.v3.3.7.js\"></script>\n<script src=\"/static/moment.min.v2.22.0.js\"></script>\n<script src=\"/static/repology.v2.js\"></script>\n\n</body>\n</html>",
           "headers": {
             "server": "nginx",
             "date": "Tue, 15 Dec 2020 11:12:00 GMT",
             "content-type": "text/html; charset=utf-8",
             "transfer-encoding": "chunked",
             "connection": "close",
             "content-encoding": "gzip"
           },
           "httpVersion": "1.1"
         }
       }
DEBUG: getLabels(https://index.docker.io, library/php, latest) (repository=danez/repology-test)
DEBUG: getManifestResponse(https://index.docker.io, library/php, latest) (repository=danez/repology-test)
DEBUG: Package releases lookups complete (repository=danez/repology-test)
       "baseBranch": "main"
DEBUG: packageFiles with updates (repository=danez/repology-test)
       "config": {
         "dockerfile": [
           {
             "packageFile": "Dockerfile",
             "manager": "dockerfile",
             "deps": [
               {
                 "depName": "php",
                 "currentValue": "7.4.11",
                 "replaceString": "php:7.4.11",
                 "autoReplaceStringTemplate": "{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}",
                 "datasource": "docker",
                 "depType": "final",
                 "depIndex": 0,
                 "updates": [
                   {
                     "fromVersion": "7.4.11",
                     "toVersion": "7.4.13",
                     "newValue": "7.4.13",
                     "newMajor": 7,
                     "newMinor": 4,
                     "updateType": "minor",
                     "isSingleVersion": true,
                     "newVersion": "7.4.13"
                   },
                   {
                     "fromVersion": "7.4.11",
                     "toVersion": "8.0.0",
                     "newValue": "8.0.0",
                     "newMajor": 8,
                     "newMinor": 0,
                     "updateType": "major",
                     "isSingleVersion": true,
                     "newVersion": "8.0.0"
                   }
                 ],
                 "warnings": [],
                 "fixedVersion": "7.4.11",
                 "dockerRegistry": "https://index.docker.io",
                 "dockerRepository": "library/php"
               }
             ]
           }
         ],
         "regex": [
           {
             "packageFile": "Dockerfile",
             "manager": "regex",
             "deps": [
               {
                 "depName": "debian_stable/fontconfig",
                 "currentValue": "2.13.1-2",
                 "datasource": "repology",
                 "versioning": "loose",
                 "replaceString": "datasource=repology depName=debian_stable/fontconfig versioning=loose\nENV FONTCONFIG_VERSION=\"2.13.1-2\"\n",
                 "depIndex": 0,
                 "updates": [],
                 "warnings": [],
                 "fixedVersion": "2.13.1-2"
               },
               {
                 "depName": "homebrew_casks/phpstorm",
                 "currentValue": "2020.2.3",
                 "datasource": "repology",
                 "versioning": "loose",
                 "replaceString": "datasource=repology depName=homebrew_casks/phpstorm versioning=loose\nENV PHPSTORM_VERSION=\"2020.2.3\"\n",
                 "depIndex": 1,
                 "updates": [
                   {
                     "fromVersion": "2020.2.3",
                     "toVersion": "2020.3",
                     "newValue": "2020.3",
                     "newMajor": 2020,
                     "newMinor": 3,
                     "updateType": "minor",
                     "isSingleVersion": true
                   }
                 ],
                 "warnings": [],
                 "fixedVersion": "2020.2.3"
               }
             ],
             "matchStrings": [
               "datasource=(?<datasource>.+?) depName=(?<depName>.+?)( versioning=(?<versioning>.+?))?\\sENV .+?_VERSION=\"(?<currentValue>[^\"]+)\"\\s"
             ]
           },
           {
             "packageFile": "Dockerfile",
             "manager": "regex",
             "deps": [
               {
                 "depName": "bash",
                 "lookupName": "alpine_3_12/bash",
                 "currentValue": "5.0.17-r0",
                 "datasource": "repology",
                 "versioning": "loose",
                 "replaceString": "\\\n    bash=5.0.17-r0",
                 "depIndex": 0,
                 "updates": [],
                 "warnings": [],
                 "fixedVersion": "5.0.17-r0"
               },
               {
                 "depName": "curl",
                 "lookupName": "alpine_3_12/curl",
                 "currentValue": "7.69.1-r1",
                 "datasource": "repology",
                 "versioning": "loose",
                 "replaceString": "\\\n    curl=7.69.1-r1",
                 "depIndex": 1,
                 "updates": [
                   {
                     "fromVersion": "7.69.1-r1",
                     "toVersion": "7.69.1-r3",
                     "newValue": "7.69.1-r3",
                     "newMajor": 7,
                     "newMinor": 69,
                     "updateType": "minor",
                     "isSingleVersion": true
                   }
                 ],
                 "warnings": [],
                 "fixedVersion": "7.69.1-r1"
               },
               {
                 "depName": "openjdk11-jre-headless",
                 "lookupName": "alpine_3_12/openjdk11-jre-headless",
                 "currentValue": "11.0.9_p10-r0",
                 "datasource": "repology",
                 "versioning": "loose",
                 "replaceString": "\\\n    openjdk11-jre-headless=11.0.9_p10-r0",
                 "depIndex": 2,
                 "updates": [
                   {
                     "fromVersion": "11.0.9_p10-r0",
                     "toVersion": "11.0.9_p11-r0",
                     "newValue": "11.0.9_p11-r0",
                     "newMajor": 11,
                     "newMinor": 0,
                     "updateType": "minor",
                     "isSingleVersion": true
                   }
                 ],
                 "warnings": [],
                 "fixedVersion": "11.0.9_p10-r0"
               },
               {
                 "depName": "python3",
                 "lookupName": "alpine_3_12/python3",
                 "currentValue": "3.8.4-r0",
                 "datasource": "repology",
                 "versioning": "loose",
                 "replaceString": "\\\n    python3=3.8.4-r0",
                 "depIndex": 3,
                 "updates": [
                   {
                     "fromVersion": "3.8.4-r0",
                     "toVersion": "3.8.5-r0",
                     "newValue": "3.8.5-r0",
                     "newMajor": 3,
                     "newMinor": 8,
                     "updateType": "minor",
                     "isSingleVersion": true
                   }
                 ],
                 "warnings": [],
                 "fixedVersion": "3.8.4-r0"
               }
             ],
             "matchStrings": [
               "(?:RUN apk add --no-cache\\s+|\\\\\\s+)(?<depName>[a-zA-Z0-9-]+)=(?<currentValue>[a-zA-Z0-9-._]+)"
             ]
           }
         ]
       }
DEBUG: branchifyUpgrades (repository=danez/repology-test)
DEBUG: 5 flattened updates found: php, homebrew_casks/phpstorm, curl, openjdk11-jre-headless, python3 (repository=danez/repology-test)
DEBUG: Returning 5 branch(es) (repository=danez/repology-test)
DEBUG: config.repoIsOnboarded=true (repository=danez/repology-test)
DEBUG: processRepo() (repository=danez/repology-test)
DEBUG: Processing 5 branches: renovate/curl-7.x, renovate/docker-php-7.x, renovate/homebrew_casks-phpstorm-2020.x, renovate/openjdk11-jre-headless-11.x, renovate/python3-3.x (repository=danez/repology-test)
DEBUG: Calculating prConcurrentLimit (20) (repository=danez/repology-test)
DEBUG: getBranchPr(renovate/curl-7.x) (repository=danez/repology-test)
DEBUG: findPr(renovate/curl-7.x, undefined, open) (repository=danez/repology-test)
DEBUG: Retrieving PR list (repository=danez/repology-test)
DEBUG: Retrieved 2 Pull Requests (repository=danez/repology-test)
DEBUG: getBranchPr(renovate/homebrew_casks-phpstorm-2020.x) (repository=danez/repology-test)
DEBUG: findPr(renovate/homebrew_casks-phpstorm-2020.x, undefined, open) (repository=danez/repology-test)
DEBUG: getBranchPr(renovate/openjdk11-jre-headless-11.x) (repository=danez/repology-test)
DEBUG: findPr(renovate/openjdk11-jre-headless-11.x, undefined, open) (repository=danez/repology-test)
DEBUG: getBranchPr(renovate/python3-3.x) (repository=danez/repology-test)
DEBUG: findPr(renovate/python3-3.x, undefined, open) (repository=danez/repology-test)
DEBUG: getBranchPr(renovate/docker-php-7.x) (repository=danez/repology-test)
DEBUG: findPr(renovate/docker-php-7.x, undefined, open) (repository=danez/repology-test)
DEBUG: 0 PRs are currently open (repository=danez/repology-test)
DEBUG: PR concurrent limit remaining: 20 (repository=danez/repology-test)
DEBUG: Calculated maximum PRs remaining this run (repository=danez/repology-test)
       "prsRemaining": 20
DEBUG: getBranchPr(renovate/curl-7.x) (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: findPr(renovate/curl-7.x, undefined, open) (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: processBranch with 1 upgrades (repository=danez/repology-test, dependencies=curl, branch=renovate/curl-7.x)
DEBUG: Setting current branch to main (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: latest commit (repository=danez/repology-test, branch=renovate/curl-7.x)
       "branchName": "main",
       "latestCommitDate": "2020-12-15T12:09:07+01:00"
DEBUG: getBranchPr(renovate/curl-7.x) (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: findPr(renovate/curl-7.x, undefined, open) (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: branchExists=false (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: Branch has 1 upgrade(s) (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: recreateClosed is false (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: findPr(renovate/curl-7.x, Update dependency curl to v7.69.1-r3, !open) (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: prAlreadyExisted=false (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: Checking schedule(at any time, null) (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: No schedule defined (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: Branch needs creating (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: Using reuseExistingBranch: false (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: manager.getUpdatedPackageFiles() (repository=danez/repology-test, branch=renovate/curl-7.x)
       "reuseExistingBranch": false,
       "branchName": "renovate/curl-7.x"
DEBUG: Starting search at index 61 (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/curl-7.x)
       "depName": "curl"
DEBUG: Found match at index 61 (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/curl-7.x)
       "depName": "curl"
DEBUG: Contents updated (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/curl-7.x)
       "depName": "curl"
DEBUG: Updated 1 package files (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: No updated lock files in branch (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: 1 file(s) to commit (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: Committing files to branch renovate/curl-7.x (repository=danez/repology-test, branch=renovate/curl-7.x)
 INFO: Branch created (repository=danez/repology-test, branch=renovate/curl-7.x)
       "commitSha": "63da816"
DEBUG: Ensuring PR (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: There are 0 errors and 0 warnings (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: getBranchPr(renovate/curl-7.x) (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: findPr(renovate/curl-7.x, undefined, open) (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: Creating PR (repository=danez/repology-test, branch=renovate/curl-7.x)
       "prTitle": "Update dependency curl to v7.69.1-r3"
DEBUG: Creating PR (repository=danez/repology-test, branch=renovate/curl-7.x)
       "title": "Update dependency curl to v7.69.1-r3",
       "head": "danez:renovate/curl-7.x",
       "base": "main",
       "draft": false
DEBUG: PR created (repository=danez/repology-test, branch=renovate/curl-7.x)
       "pr": 3,
       "draft": false
DEBUG: Adding labels '' to #3 (repository=danez/repology-test, branch=renovate/curl-7.x)
 INFO: PR created (repository=danez/repology-test, branch=renovate/curl-7.x)
       "pr": 3,
       "prTitle": "Update dependency curl to v7.69.1-r3"
DEBUG: Created Pull Request #3 (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: Checking #3 for automerge (repository=danez/repology-test, branch=renovate/curl-7.x)
       "automerge": false,
       "automergeType": "pr",
       "automergeComment": "automergeComment"
DEBUG: No automerge (repository=danez/repology-test, branch=renovate/curl-7.x)
DEBUG: getBranchPr(renovate/homebrew_casks-phpstorm-2020.x) (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: findPr(renovate/homebrew_casks-phpstorm-2020.x, undefined, open) (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: processBranch with 1 upgrades (repository=danez/repology-test, dependencies=homebrew_casks/phpstorm, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: Setting current branch to main (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: latest commit (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
       "branchName": "main",
       "latestCommitDate": "2020-12-15T12:09:07+01:00"
DEBUG: getBranchPr(renovate/homebrew_casks-phpstorm-2020.x) (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: findPr(renovate/homebrew_casks-phpstorm-2020.x, undefined, open) (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: branchExists=false (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: Branch has 1 upgrade(s) (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: recreateClosed is false (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: findPr(renovate/homebrew_casks-phpstorm-2020.x, Update dependency homebrew_casks/phpstorm to v2020.3, !open) (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: prAlreadyExisted=false (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: Checking schedule(at any time, null) (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: No schedule defined (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: Branch needs creating (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: Using reuseExistingBranch: false (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: manager.getUpdatedPackageFiles() (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
       "reuseExistingBranch": false,
       "branchName": "renovate/homebrew_casks-phpstorm-2020.x"
DEBUG: Starting search at index 419 (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/homebrew_casks-phpstorm-2020.x)
       "depName": "homebrew_casks/phpstorm"
DEBUG: Found match at index 419 (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/homebrew_casks-phpstorm-2020.x)
       "depName": "homebrew_casks/phpstorm"
DEBUG: Contents updated (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/homebrew_casks-phpstorm-2020.x)
       "depName": "homebrew_casks/phpstorm"
DEBUG: Updated 1 package files (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: No updated lock files in branch (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: 1 file(s) to commit (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: Committing files to branch renovate/homebrew_casks-phpstorm-2020.x (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
 INFO: Branch created (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
       "commitSha": "b6aaa16"
DEBUG: Ensuring PR (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: There are 0 errors and 0 warnings (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: getBranchPr(renovate/homebrew_casks-phpstorm-2020.x) (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: findPr(renovate/homebrew_casks-phpstorm-2020.x, undefined, open) (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: Creating PR (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
       "prTitle": "Update dependency homebrew_casks/phpstorm to v2020.3"
DEBUG: Creating PR (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
       "title": "Update dependency homebrew_casks/phpstorm to v2020.3",
       "head": "danez:renovate/homebrew_casks-phpstorm-2020.x",
       "base": "main",
       "draft": false
DEBUG: PR created (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
       "pr": 4,
       "draft": false
DEBUG: Adding labels '' to #4 (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
 INFO: PR created (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
       "pr": 4,
       "prTitle": "Update dependency homebrew_casks/phpstorm to v2020.3"
DEBUG: Created Pull Request #4 (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: Checking #4 for automerge (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
       "automerge": false,
       "automergeType": "pr",
       "automergeComment": "automergeComment"
DEBUG: No automerge (repository=danez/repology-test, branch=renovate/homebrew_casks-phpstorm-2020.x)
DEBUG: getBranchPr(renovate/openjdk11-jre-headless-11.x) (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: findPr(renovate/openjdk11-jre-headless-11.x, undefined, open) (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: processBranch with 1 upgrades (repository=danez/repology-test, dependencies=openjdk11-jre-headless, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: Setting current branch to main (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: latest commit (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
       "branchName": "main",
       "latestCommitDate": "2020-12-15T12:09:07+01:00"
DEBUG: getBranchPr(renovate/openjdk11-jre-headless-11.x) (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: findPr(renovate/openjdk11-jre-headless-11.x, undefined, open) (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: branchExists=false (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: Branch has 1 upgrade(s) (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: recreateClosed is false (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: findPr(renovate/openjdk11-jre-headless-11.x, Update dependency openjdk11-jre-headless to v11.0.9_p11-r0, !open) (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: prAlreadyExisted=false (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: Checking schedule(at any time, null) (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: No schedule defined (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: Branch needs creating (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: Using reuseExistingBranch: false (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: manager.getUpdatedPackageFiles() (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
       "reuseExistingBranch": false,
       "branchName": "renovate/openjdk11-jre-headless-11.x"
DEBUG: Starting search at index 82 (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/openjdk11-jre-headless-11.x)
       "depName": "openjdk11-jre-headless"
DEBUG: Found match at index 82 (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/openjdk11-jre-headless-11.x)
       "depName": "openjdk11-jre-headless"
DEBUG: Contents updated (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/openjdk11-jre-headless-11.x)
       "depName": "openjdk11-jre-headless"
DEBUG: Updated 1 package files (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: No updated lock files in branch (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: 1 file(s) to commit (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: Committing files to branch renovate/openjdk11-jre-headless-11.x (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
 INFO: Branch created (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
       "commitSha": "415af69"
DEBUG: Ensuring PR (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: There are 0 errors and 0 warnings (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: getBranchPr(renovate/openjdk11-jre-headless-11.x) (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: findPr(renovate/openjdk11-jre-headless-11.x, undefined, open) (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: Creating PR (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
       "prTitle": "Update dependency openjdk11-jre-headless to v11.0.9_p11-r0"
DEBUG: Creating PR (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
       "title": "Update dependency openjdk11-jre-headless to v11.0.9_p11-r0",
       "head": "danez:renovate/openjdk11-jre-headless-11.x",
       "base": "main",
       "draft": false
DEBUG: PR created (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
       "pr": 5,
       "draft": false
DEBUG: Adding labels '' to #5 (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
 INFO: PR created (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
       "pr": 5,
       "prTitle": "Update dependency openjdk11-jre-headless to v11.0.9_p11-r0"
DEBUG: Created Pull Request #5 (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: Checking #5 for automerge (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
       "automerge": false,
       "automergeType": "pr",
       "automergeComment": "automergeComment"
DEBUG: No automerge (repository=danez/repology-test, branch=renovate/openjdk11-jre-headless-11.x)
DEBUG: getBranchPr(renovate/python3-3.x) (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: findPr(renovate/python3-3.x, undefined, open) (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: processBranch with 1 upgrades (repository=danez/repology-test, dependencies=python3, branch=renovate/python3-3.x)
DEBUG: Setting current branch to main (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: latest commit (repository=danez/repology-test, branch=renovate/python3-3.x)
       "branchName": "main",
       "latestCommitDate": "2020-12-15T12:09:07+01:00"
DEBUG: getBranchPr(renovate/python3-3.x) (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: findPr(renovate/python3-3.x, undefined, open) (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: branchExists=false (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: Branch has 1 upgrade(s) (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: recreateClosed is false (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: findPr(renovate/python3-3.x, Update dependency python3 to v3.8.5-r0, !open) (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: prAlreadyExisted=false (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: Checking schedule(at any time, null) (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: No schedule defined (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: Branch needs creating (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: Using reuseExistingBranch: false (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: manager.getUpdatedPackageFiles() (repository=danez/repology-test, branch=renovate/python3-3.x)
       "reuseExistingBranch": false,
       "branchName": "renovate/python3-3.x"
DEBUG: Starting search at index 125 (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/python3-3.x)
       "depName": "python3"
DEBUG: Found match at index 125 (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/python3-3.x)
       "depName": "python3"
DEBUG: Contents updated (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/python3-3.x)
       "depName": "python3"
DEBUG: Updated 1 package files (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: No updated lock files in branch (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: 1 file(s) to commit (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: Committing files to branch renovate/python3-3.x (repository=danez/repology-test, branch=renovate/python3-3.x)
 INFO: Branch created (repository=danez/repology-test, branch=renovate/python3-3.x)
       "commitSha": "96da0ed"
DEBUG: Ensuring PR (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: There are 0 errors and 0 warnings (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: getBranchPr(renovate/python3-3.x) (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: findPr(renovate/python3-3.x, undefined, open) (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: Creating PR (repository=danez/repology-test, branch=renovate/python3-3.x)
       "prTitle": "Update dependency python3 to v3.8.5-r0"
DEBUG: Creating PR (repository=danez/repology-test, branch=renovate/python3-3.x)
       "title": "Update dependency python3 to v3.8.5-r0",
       "head": "danez:renovate/python3-3.x",
       "base": "main",
       "draft": false
DEBUG: PR created (repository=danez/repology-test, branch=renovate/python3-3.x)
       "pr": 6,
       "draft": false
DEBUG: Adding labels '' to #6 (repository=danez/repology-test, branch=renovate/python3-3.x)
 INFO: PR created (repository=danez/repology-test, branch=renovate/python3-3.x)
       "pr": 6,
       "prTitle": "Update dependency python3 to v3.8.5-r0"
DEBUG: Created Pull Request #6 (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: Checking #6 for automerge (repository=danez/repology-test, branch=renovate/python3-3.x)
       "automerge": false,
       "automergeType": "pr",
       "automergeComment": "automergeComment"
DEBUG: No automerge (repository=danez/repology-test, branch=renovate/python3-3.x)
DEBUG: getBranchPr(renovate/docker-php-7.x) (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: findPr(renovate/docker-php-7.x, undefined, open) (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: processBranch with 1 upgrades (repository=danez/repology-test, dependencies=php, branch=renovate/docker-php-7.x)
DEBUG: Setting current branch to main (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: latest commit (repository=danez/repology-test, branch=renovate/docker-php-7.x)
       "branchName": "main",
       "latestCommitDate": "2020-12-15T12:09:07+01:00"
DEBUG: getBranchPr(renovate/docker-php-7.x) (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: findPr(renovate/docker-php-7.x, undefined, open) (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: branchExists=false (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: Branch has 1 upgrade(s) (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: recreateClosed is false (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: findPr(renovate/docker-php-7.x, Update php Docker tag to v7.4.13, !open) (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: prAlreadyExisted=false (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: Checking schedule(at any time, null) (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: No schedule defined (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: Branch needs creating (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: Using reuseExistingBranch: false (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: manager.getUpdatedPackageFiles() (repository=danez/repology-test, branch=renovate/docker-php-7.x)
       "reuseExistingBranch": false,
       "branchName": "renovate/docker-php-7.x"
DEBUG: Starting search at index 5 (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/docker-php-7.x)
       "depName": "php"
DEBUG: Found match at index 5 (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/docker-php-7.x)
       "depName": "php"
DEBUG: Contents updated (repository=danez/repology-test, packageFile=Dockerfile, branch=renovate/docker-php-7.x)
       "depName": "php"
DEBUG: Updated 1 package files (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: No updated lock files in branch (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: 1 file(s) to commit (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: Committing files to branch renovate/docker-php-7.x (repository=danez/repology-test, branch=renovate/docker-php-7.x)
 INFO: Branch created (repository=danez/repology-test, branch=renovate/docker-php-7.x)
       "commitSha": "a9bf117"
DEBUG: Ensuring PR (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: There are 0 errors and 0 warnings (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: getBranchPr(renovate/docker-php-7.x) (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: findPr(renovate/docker-php-7.x, undefined, open) (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: Creating PR (repository=danez/repology-test, branch=renovate/docker-php-7.x)
       "prTitle": "Update php Docker tag to v7.4.13"
DEBUG: Creating PR (repository=danez/repology-test, branch=renovate/docker-php-7.x)
       "title": "Update php Docker tag to v7.4.13",
       "head": "danez:renovate/docker-php-7.x",
       "base": "main",
       "draft": false
DEBUG: PR created (repository=danez/repology-test, branch=renovate/docker-php-7.x)
       "pr": 7,
       "draft": false
DEBUG: Adding labels '' to #7 (repository=danez/repology-test, branch=renovate/docker-php-7.x)
 INFO: PR created (repository=danez/repology-test, branch=renovate/docker-php-7.x)
       "pr": 7,
       "prTitle": "Update php Docker tag to v7.4.13"
DEBUG: Created Pull Request #7 (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: Checking #7 for automerge (repository=danez/repology-test, branch=renovate/docker-php-7.x)
       "automerge": false,
       "automergeType": "pr",
       "automergeComment": "automergeComment"
DEBUG: No automerge (repository=danez/repology-test, branch=renovate/docker-php-7.x)
DEBUG: getBranchPr(renovate/curl-7.x) (repository=danez/repology-test)
DEBUG: findPr(renovate/curl-7.x, undefined, open) (repository=danez/repology-test)
DEBUG: Found PR #3 (repository=danez/repology-test)
DEBUG: Returning from graphql open PR list (repository=danez/repology-test)
DEBUG: getBranchPr(renovate/homebrew_casks-phpstorm-2020.x) (repository=danez/repology-test)
DEBUG: findPr(renovate/homebrew_casks-phpstorm-2020.x, undefined, open) (repository=danez/repology-test)
DEBUG: Found PR #4 (repository=danez/repology-test)
DEBUG: Returning from graphql open PR list (repository=danez/repology-test)
DEBUG: getBranchPr(renovate/openjdk11-jre-headless-11.x) (repository=danez/repology-test)
DEBUG: findPr(renovate/openjdk11-jre-headless-11.x, undefined, open) (repository=danez/repology-test)
DEBUG: Found PR #5 (repository=danez/repology-test)
DEBUG: Returning from graphql open PR list (repository=danez/repology-test)
DEBUG: getBranchPr(renovate/python3-3.x) (repository=danez/repology-test)
DEBUG: findPr(renovate/python3-3.x, undefined, open) (repository=danez/repology-test)
DEBUG: Found PR #6 (repository=danez/repology-test)
DEBUG: Returning from graphql open PR list (repository=danez/repology-test)
DEBUG: getBranchPr(renovate/docker-php-7.x) (repository=danez/repology-test)
DEBUG: findPr(renovate/docker-php-7.x, undefined, open) (repository=danez/repology-test)
DEBUG: Found PR #7 (repository=danez/repology-test)
DEBUG: Returning from graphql open PR list (repository=danez/repology-test)
DEBUG: Removing any stale branches (repository=danez/repology-test)
DEBUG: config.repoIsOnboarded=true (repository=danez/repology-test)
DEBUG: Branch lists (repository=danez/repology-test)
       "branchList": [
         "renovate/docker-php-7.x",
         "renovate/homebrew_casks-phpstorm-2020.x",
         "renovate/curl-7.x",
         "renovate/openjdk11-jre-headless-11.x",
         "renovate/python3-3.x"
       ],
       "renovateBranches": [
         "renovate/curl-7.x",
         "renovate/homebrew_casks-phpstorm-2020.x",
         "renovate/openjdk11-jre-headless-11.x",
         "renovate/python3-3.x",
         "renovate/docker-php-7.x"
       ]
DEBUG: remainingBranches= (repository=danez/repology-test)
DEBUG: No branches to clean up (repository=danez/repology-test)
DEBUG: Repository timing splits (milliseconds) (repository=danez/repology-test)
       "splits": {"init": 5722, "extract": 2026, "lookup": 6533, "update": 48914},
       "total": 64140
DEBUG: http statistics (repository=danez/repology-test)
       "hostStats": [
         "api.github.com, 10 requests, 963ms request average, 0ms queue average",
         "auth.docker.io, 1 request, 897ms request average, 0ms queue average",
         "index.docker.io, 4 requests, 1106ms request average, 0ms queue average",
         "repology.org, 6 requests, 2250ms request average, 0ms queue average"
       ],
       "totalRequests": 21
 INFO: Repository finished (repository=danez/repology-test)
       "durationMs": 64140
DEBUG: Renovate exiting
Done in 96.29s.

@rarkins rarkins merged commit 3ea0656 into renovatebot:master Dec 16, 2020
@renovate-release
Copy link
Collaborator

🎉 This PR is included in version 24.4.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

@danez danez deleted the repology-fix branch December 16, 2020 08:02
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Repology: support projectName !== packageName
4 participants