Skip to content

bootc-dev/infra

Repository files navigation

CI Infrastructure

This repository provides centralised configuration and automation for the bootc-dev organisation. It is designed to simplify and standardise infrastructure, with Renovate as one part of the overall setup. The repository will grow to support additional infrastructure and automation purposes in the future as needed.

Table of Contents


Purpose

The main goal of this repository is to:

  • Centralise configuration for CI and automation tools across the organisation.
  • Simplify onboarding for new repositories and maintainers.
  • Enable strict configuration inheritance for consistency, with flexibility for overrides.
  • Group and manage dependencies and automation for easier review and maintenance.

Renovate

This section describes how Renovate Bot is configured and used in this repository to manage dependency updates across multiple repositories in the organisation.

How It Works

  1. Autodiscovery: Renovate is configured to automatically find all repositories the GitHub App token has access to.
  2. Shared Configuration: The renovate-shared-config.json file defines base rules, grouping strategies, and custom package rules. All repositories inherit these settings unless they opt out.
  3. No Onboarding PRs: Onboarding PRs are disabled, so repositories start using the shared config immediately.
  4. Branch Naming: All Renovate branches are prefixed for easy identification.
  5. Platform Support: The configuration is tailored for GitHub, with support for forked repositories and platform-specific features.

For Repository Maintainers

If your repository is part of the bootc-dev GitHub organisation:

  1. Inherit the central config: By default, your repository will use the shared configuration from this repo. No additional setup is required unless you want to override specific settings.
  2. Customise if needed: You can add your own renovate.json or similar config file in your repository to override or extend the shared settings.
  3. Review dependency PRs: Renovate will create PRs for dependency updates according to the shared rules, grouping, and strategies defined here.

For Organisation Admins

  • Update shared config: To change organisation-wide Renovate behaviour, edit the configuration files in this repository. Changes will propagate to all inheriting repositories.
  • Monitor and audit: Use the central config to ensure compliance and best practices across all projects.

Manually Running Renovate

You can manually trigger the Renovate workflow from the GitHub Actions tab:

  1. Go to the Actions tab in this repository.
  2. Select the Renovate workflow.
  3. Click Run workflow.
  4. Optionally, set the log level (info or debug) before starting.

This is useful for testing configuration changes or running Renovate outside the scheduled times.

Key Features

  • Best-practices base config: Extends Renovate's recommended settings for reliability and security.
  • Commit sign-off: Ensures all dependency update commits are signed off for traceability.
  • Dependency grouping: Groups updates for GitHub Actions, Rust, Docker, and more for easier review.
  • Custom rules: Includes rules for disabling certain updates (e.g., Fedora OCI images) and controlling digest pinning.

Getting Started

  1. Ensure your repository is part of the organisation and Renovate is installed.
  2. Review the Renovate documentation for advanced usage and customisation options.

Support & Contributions

For questions or improvements, open an issue or pull request in this repository. Contributions to the shared configuration are welcome and help improve dependency management for all projects in the organisation.


License

MIT OR Apache-2.0

About

CI infrastructure

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published