Skip to content

Ready-to-use configuration presets for projects managed with Renovate

License

Notifications You must be signed in to change notification settings

CPS-IT/renovate-config

Repository files navigation

Renovate Config

CGL

This repository provides some configuration presets for Renovate-managed projects developed at CPS GmbH.

🚢 Configuration presets

This repository provides various configuration presets. You can reference all presets like this in your renovate.json file:

{
    "extends": [
        "github>CPS-IT/renovate-config:<preset>"
    ]
}

Replace <preset> with the basename of the configuration file to be used, e.g. github>CPS-IT/renovate-config:typo3-project. For the default preset, you can leave out the preset name. Consult the official documentation for deeper insights.

Default preset

💻 Config file: default.json
➡️ Reference: github>CPS-IT/renovate-config

Usage

{
    "$schema": "https://docs.renovatebot.com/renovate-schema.json",
    "extends": ["github>CPS-IT/renovate-config"]
}

Description

This preset provides a solid base configuration for all projects developed at CPS GmbH. Consider using more specific presets in your projects since they might be better suited.

Key configuration

Configuration key Value Description
:automergePatch Preset Automerge patch upgrades if they pass tests
:automergeRequireAllStatusChecks Preset Require successful CI for auto-merge
:rebaseStalePrs Preset Rebase PRs if they're behind base branch
:separatePatchReleases Preset Separate patch and minor releases into separate PRs
schedule:weekdays Preset Schedule one Renovate run per weekday (triggered by renovate/renovate-runner>)
configMigration true Enables migration of Renovate config on a repository basis
lockFileMaintenance {"enabled": true} Enable dependency updates of all locked dependencies, including transitive dependencies
osvVulnerabilityAlerts true Enable vulnerability alerts fetched from https://osv.dev
prConcurrentLimit 10 Limit concurrent PRs to 10
labels ["dependencies"] Always add dependencies label to PRs

Package rules

Ruleset Matching packages Description
Development packages devDependencies, require-dev All packages used for development, updates in minor and patch range will be automerged
PHPStan packages phpstan/*, various PHPStan extensions PHPStan and extensions, will ge grouped as PHPStan
PHP version updates php PHP version will be widened and automerge is disabled
GitHub artifact actions actions/*-artifact GitHub actions to upload and download artifacts are grouped to a single PR

Git Flow preset

💻 Config file: git-flow.json
➡️ Reference: github>CPS-IT/renovate-config:git-flow

Usage

{
    "$schema": "https://docs.renovatebot.com/renovate-schema.json",
    "extends": ["github>CPS-IT/renovate-config:git-flow"]
}

Description

Use this preset for Git Flow managed projects.

Key configuration

Configuration key Value Description
baseBranches ["develop"] Overrides base branch to develop (will be used as target branch in PRs)

TYPO3 extension preset

💻 Config file: typo3-extension.json
➡️ Reference: github>CPS-IT/renovate-config:typo3-extension

Usage

{
    "$schema": "https://docs.renovatebot.com/renovate-schema.json",
    "extends": ["github>CPS-IT/renovate-config:typo3-extension"]
}

Description

Use this preset for TYPO3 extensions.

Key configuration

Configuration key Value Description
rangeStrategy widen Widen the range with newer one

Package rules

Ruleset Matching packages Description
TYPO3 system extensions typo3/cms-* TYPO3 system extensions, will be grouped as TYPO3 CMS

TYPO3 project preset

💻 Config file: typo3-project.json
➡️ Reference: github>CPS-IT/renovate-config:typo3-project

Usage

{
    "$schema": "https://docs.renovatebot.com/renovate-schema.json",
    "extends": ["github>CPS-IT/renovate-config:typo3-project"]
}

Description

Use this preset for TYPO3 projects (bundles).

Key configuration

Configuration key Value Description
rangeStrategy in-range-only Update the lock file when in-range updates are available, ignore package file updates

Package rules

Ruleset Matching packages Description
TYPO3 system extensions typo3/cms-* TYPO3 system extensions, no major updates, will be grouped as TYPO3 CMS

💎 Credits

All config presets are heavily inspired by the glorious config repository from Pagemachine. If you like it, consider starring this repository.

🧑‍💻 Contributing

Please have a look at CONTRIBUTING.md.

⭐ License

This project is licensed under GNU General Public License 3.0 (or later).