Skip to main content

Renovate - Automated updates

Vortex uses Renovate for automated dependency updates.

The configuration is stored in renovate.json. It is based on Renovate configuration for automated Drupal dependency updates project.

Features

  1. Dual schedules for Drupal package updates:
    • Daily update schedule for critical Drupal core and related packages created in the deps/drupal-minor-patch-core branch.
    • Weekly update schedule for all other packages created in the deps/drupal-minor-patch-contrib branch.
  2. Container image updates in Dockerfile and docker-compose.yml files in the deps/docker branch.
  3. GitHub Actions updates in the deps/github-actions branch.
  4. Automatically adds a dependencies label to a pull request.
  5. Automatically adds assignees to a pull request.
  6. Configuration for running Renovate self-hosted instance using CircleCI.
  7. Manual trigger from GitHub Actions UI and CircleCI pipeline.
  8. Debug logging enabled for detailed troubleshooting.

Self-hosted vs GitHub app

Renovate can run as a hosted GitHub app or as a standalone self-hosted service in CircleCI or GitHub Actions.

A self-hosted service can be beneficial when your project is restricted in terms of third-party access.

Note: If the RENOVATE_TOKEN is not provided and the job is configured, the job will still run but the Renovate update steps will be skipped gracefully without causing a build failure.

Setting up Renovate self-hosted in CircleCI

Required environment variables

The following environment variables must be manually created in the CircleCI project settings:

  1. RENOVATE_TOKEN (required): GitHub access token with repository write permissions
  2. RENOVATE_REPOSITORIES (required): Repository to run Renovate on in format yourorg/repo
  3. RENOVATE_GIT_AUTHOR (required): Author for Renovate commits in format Name <email@example.com> (e.g., Renovate Bot <renovate@example.com>)

Optional environment variables

These can be created to customize behavior (will use defaults if not set):

  • RENOVATE_DRY_RUN: Set to true to test runs without making changes (default: false)
  • RENOVATE_DEPENDENCY_DASHBOARD: Set to true to enable the dependency dashboard (default: false)

Note that triggering actions from the self-hosted service is not supported.

Manual trigger

The Renovate job in CircleCI can be triggered manually from the CircleCI pipeline UI.

Debug logging

Debug logging is enabled by default with LOG_LEVEL: 'debug' to provide detailed information about the Renovate execution process. This helps with troubleshooting dependency update issues and understanding why certain updates might be skipped.

Setting up Renovate self-hosted in GitHub Actions

Required environment variables

The following must be manually created in the GitHub repository settings:

  1. RENOVATE_TOKEN (required): GitHub access token with repository write permissions Location: Settings > Secrets and variables > Actions > Repository secrets
  2. RENOVATE_GIT_AUTHOR (required): Author for Renovate commits in format Name <email@example.com> (e.g., Renovate Bot <renovate@example.com>) Location: Settings > Secrets and variables > Actions > Repository variables

Optional environment variables

These can be created to customize behavior (will use defaults if not set):

  • RENOVATE_REPOSITORIES: Repository to run Renovate on in format yourorg/repo (default: uses current repository)
  • RENOVATE_DRY_RUN: Set to true to test runs without making changes (default: false)
  • RENOVATE_DEPENDENCY_DASHBOARD: Set to true to enable the dependency dashboard (default: false)

Note that triggering actions from the self-hosted service is not supported.

Manual trigger

The Renovate job in GitHub Actions can be triggered manually from the Actions tab in the GitHub repository UI using the workflow dispatch feature.

Debug logging

Debug logging is available and can be enabled by setting the LOG_LEVEL environment variable to debug in the workflow configuration for detailed troubleshooting.

Dependency Dashboard

The Renovate Dependency Dashboard is a GitHub issue that provides visibility into:

  • Available dependency updates that are scheduled for later execution
  • Updates that have been filtered out due to configuration rules
  • Failed update attempts and their reasons

The dashboard is created with the title "RenovateBot Dependency Dashboard (self-hosted)" when running in self-hosted mode. This dashboard is particularly useful for understanding why certain updates might not be applied immediately due to scheduling constraints or configuration rules.