{"id":19140254,"url":"https://github.com/drevops/renovate-drupal","last_synced_at":"2025-05-06T23:16:41.066Z","repository":{"id":37103954,"uuid":"492644793","full_name":"drevops/renovate-drupal","owner":"drevops","description":"Renovate configuration for automated Drupal dependency updates","archived":false,"fork":false,"pushed_at":"2025-05-03T12:16:54.000Z","size":68,"stargazers_count":8,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-06T23:16:32.519Z","etag":null,"topics":["circleci","drupal","github-actions","renovate"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drevops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"drevops","patreon":"drevops"}},"created_at":"2022-05-16T01:14:29.000Z","updated_at":"2024-10-31T14:17:17.000Z","dependencies_parsed_at":"2023-12-10T22:26:06.140Z","dependency_job_id":"9d9d73cd-77c6-4af9-b84a-f54edc64971d","html_url":"https://github.com/drevops/renovate-drupal","commit_stats":null,"previous_names":["drevops/renovate-drupal-example"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drevops%2Frenovate-drupal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drevops%2Frenovate-drupal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drevops%2Frenovate-drupal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drevops%2Frenovate-drupal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drevops","download_url":"https://codeload.github.com/drevops/renovate-drupal/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252782835,"owners_count":21803410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["circleci","drupal","github-actions","renovate"],"created_at":"2024-11-09T07:16:56.654Z","updated_at":"2025-05-06T23:16:41.041Z","avatar_url":"https://github.com/drevops.png","language":null,"funding_links":["https://github.com/sponsors/drevops","https://patreon.com/drevops"],"categories":[],"sub_categories":[],"readme":"# Renovate configuration for automated Drupal dependency updates.\n\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/drevops/renovate-drupal)\n![LICENSE](https://img.shields.io/github/license/drevops/renovate-drupal)\n[![CircleCI](https://dl.circleci.com/status-badge/img/gh/drevops/renovate-circleci-drupal-example/tree/main.svg?style=shield)](https://dl.circleci.com/status-badge/redirect/gh/drevops/renovate-circleci-drupal-example/tree/main)\n![GitHub Actions](https://github.com/drevops/renovate-drupal/actions/workflows/renovate.yml/badge.svg)\n\n## Features\n1. Dual schedules for package updates:\n   - Daily update schedule for critical Drupal core and related packages created in the `deps/minor-patch-core` branch.\n   - Weekly update schedule for all other packages created in the `deps/minor-patch-contrib` branch.\n2. Automatically adds a `dependencies` label to a pull request.\n3. Automatically adds assignees to a pull request.\n4. Optional configuration for running Renovate self-hosted instance using GitHub Actions.\n5. Optional configuration for running Renovate self-hosted instance using CircleCI.\n\n## Installation\n\nRenovate can run as hosted GitHub app or as a standalone self-hosted service in your CI provider (GitHub or CircleCI).\n\nA self-hosted service can be beneficial when your project is restricted in terms of third-party access.\n\n### Hosted GitHub app\n\n1. Copy `renovate.json` to your repository.\n2. Follow steps in [the official Renovate docs](https://docs.renovatebot.com/getting-started/installing-onboarding/).\n\n### Self-hosted on GitHub actions\n\n1. Copy `renovate.json` to your repository.\n2. Copy `.github/workflows/renovate.yml` to your repository.\n3. Create GitHub read/write access token and add it as a value for `RENOVATE_TOKEN` environment variable in GitHub Secrets.\n\n### Self-hosted on CircleCI\n\n1. Copy `renovate.json` to your repository.\n2. Copy jobs from `.circleci/config.yml` to your CI config.\n   a. Update `RENOVATE_REPOSITORIES` with the name of your repository.\n   b. Update cron schedule to run as often as you like (once or twise a day).\n3. Create GitHub read/write access token and add it as a value for `RENOVATE_TOKEN` environment variable in CircleCI UI. This is used to submit PRs and update Renovate dashboard issues.\n4. Create GitHub read-only access token and add it as a value for `GITHUB_COM_TOKEN` environment variable in CircleCI UI. This is used to overcome GitHub API rate limit when Renovate downloads information aboout your packages.\n\nRead more about environment variables [Renovate Authentication](https://docs.renovatebot.com/examples/self-hosting/#circleci).\n\n## Testing\n\nProvided `composer.json` and `composer.lock` are used to test Renovates configuration.\n\nNote that in addition to Drupal and Composer packages, we are using 3 custom (empty) packages with specific versions:\n- https://github.com/drevops/renovate-example-source1\n- https://github.com/drevops/renovate-example-source2\n- https://github.com/drevops/renovate-example-source3\n\n**Expected minor and patch updates for core**\n\n```\n  - drupal/core-composer-scaffold (9.2.0 -\u003e 9.3.13)\n  - drupal/core-project-message (9.3.12 -\u003e 9.3.13)\n  - drupal/core-recommended\t(9.3.12 -\u003e 9.3.13)\n```\n\n**Expected minor and patch updates for contribs**\n\n```\n  - drevops/renovate-example-source (1.0.0 =\u003e 1.0.4)\n  - drevops/renovate-example-source2 (1.0.0 =\u003e 1.2.0)\n  - drupal/coffee (1.0.0 =\u003e 1.2.0)\n  - drupal/core-dev\t(9.3.12 -\u003e 9.3.13)\n  - drupal/core-composer-scaffold (9.2.0 =\u003e 9.3.12)\n  - vlucas/phpdotenv (v5.0.0 =\u003e v5.4.1)\n  - drupal/core-composer-scaffold (9.2.0 =\u003e 9.3.12)\n  - drevops/renovate-example-source (1.0.0 =\u003e 1.0.4)\n  - drevops/renovate-example-source2 (1.0.0 =\u003e 1.2.0)\n  - drupal/coffee (1.0.0 =\u003e 1.2.0)\n  - vlucas/phpdotenv (v5.0.0 =\u003e v5.4.1)\n```\n\n**Should not update**\n\n```\n  - drush/drush (10.* =\u003e 11.*) - Drush updates are excluded\n  - drevops/renovate-example-source3 (1.* =\u003e 3.*) - Major versions are updated manually\n```\n\n## About platform version constraints\n\nRenovateBot assesses 3 places to determine the PHP platform requirements:\n1. The `require.php` version value in `composer.json`.\n2. The `config.platform` version value in `composer.json`.\n3. The `constraints.php` version value in `renovate.json`.\n\nThe purpose of `require.php` is to set the minimum PHP language requirements\nfor a package. For example, the minimum version required for Drupal 10 is 8.0.2\nor above, which can be specified as `\u003e=8`.\n\nThe purpose of `config.platform` is to set the PHP language requirements for the\nspecific instance of the package running in the current environment. For\nexample, while the minimum version required for Drupal 10 is 8.0.2 or above, the\nactual PHP version on the hosting provider could be `8.1.0`. The value of this\nfield should provide your exact version of PHP with all 3 parts of the version.\n\nThe purpose of `constraints.php` is to set the PHP language requirements for the\nRenovateBot run, in case the above two values are not set or need to be\noverridden.\n\n### Which versions to specify in a Drupal site?\n\nIt is recommended to specify `require.php` as a _range_ constraint (e.g. `\u003e=8.1`)\nto ensure it is used as the minimum requirement for project dependencies.\n\nIt is also recommended to specify `config.platform` as a _specific version_ (e.g.\n`8.1.19`) constraint to ensure that only the package versions supported by your\ncurrent environment are used.\n\nOnce the PHP version of your environment is updated, the `config.platform`\nvalue should also be updated to the specific version.\n\nIt is not recommended to use `constraints.php` in `renovate.json`, as every\nproject may use a different version of PHP. This value should only be used if\nyour Drupal project does not have `require.php` or `config.platform` provided\n(in which case those values should be provided instead).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrevops%2Frenovate-drupal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrevops%2Frenovate-drupal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrevops%2Frenovate-drupal/lists"}