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
- 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.
- Daily update schedule for critical Drupal core and related packages created in
the
- Container image updates in
Dockerfile
anddocker-compose.yml
files in thedeps/docker
branch. - GitHub Actions updates in the
deps/github-actions
branch. - Automatically adds a
dependencies
label to a pull request. - Automatically adds assignees to a pull request.
- Configuration for running Renovate self-hosted instance using CircleCI.
- Manual trigger from GitHub Actions UI and CircleCI pipeline.
- 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:
RENOVATE_TOKEN
(required): GitHub access token with repository write permissionsRENOVATE_REPOSITORIES
(required): Repository to run Renovate on in formatyourorg/repo
RENOVATE_GIT_AUTHOR
(required): Author for Renovate commits in formatName <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 totrue
to test runs without making changes (default:false
)RENOVATE_DEPENDENCY_DASHBOARD
: Set totrue
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:
RENOVATE_TOKEN
(required): GitHub access token with repository write permissions Location: Settings > Secrets and variables > Actions > Repository secretsRENOVATE_GIT_AUTHOR
(required): Author for Renovate commits in formatName <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 formatyourorg/repo
(default: uses current repository)RENOVATE_DRY_RUN
: Set totrue
to test runs without making changes (default:false
)RENOVATE_DEPENDENCY_DASHBOARD
: Set totrue
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.