Skip to content

Commit b3d8c96

Browse files
committed
chore: add a repository README.md
Assisted by: GitHub Copilot (GPT-4.1) Signed-off-by: Robert Sturla <[email protected]>
1 parent b0e3b8e commit b3d8c96

File tree

1 file changed

+87
-3
lines changed

1 file changed

+87
-3
lines changed

README.md

Lines changed: 87 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,88 @@
1-
# CI infra
1+
# CI Infrastructure
22

3-
This repository currently just has a self-hosted Renovate instance
4-
via <https://github.com/renovatebot/github-action>.
3+
This repository provides centralised configuration and automation for the [bootc-dev](https://github.com/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.
4+
5+
6+
## Table of Contents
7+
8+
- [Purpose](#purpose)
9+
- [Renovate](#renovate)
10+
- [Getting Started](#getting-started)
11+
- [Support & Contributions](#support--contributions)
12+
- [License](#license)
13+
14+
---
15+
16+
## Purpose
17+
18+
The main goal of this repository is to:
19+
20+
- **Centralise configuration** for CI and automation tools across the organisation.
21+
- **Simplify onboarding** for new repositories and maintainers.
22+
- **Enable strict configuration inheritance** for consistency, with flexibility for overrides.
23+
- **Group and manage dependencies and automation** for easier review and maintenance.
24+
25+
---
26+
27+
28+
## Renovate
29+
30+
This section describes how Renovate Bot is configured and used in this repository to manage dependency updates across multiple repositories in the organisation.
31+
32+
### How It Works
33+
34+
1. **Autodiscovery**: Renovate is configured to automatically find all repositories the GitHub App token has access to.
35+
1. **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.
36+
1. **No Onboarding PRs**: Onboarding PRs are disabled, so repositories start using the shared config immediately.
37+
1. **Branch Naming**: All Renovate branches are prefixed for easy identification.
38+
1. **Platform Support**: The configuration is tailored for GitHub, with support for forked repositories and platform-specific features.
39+
40+
#### For Repository Maintainers
41+
42+
If your repository is part of the bootc-dev GitHub organisation:
43+
44+
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.
45+
1. **Customise if needed**: You can add your own `renovate.json` or similar config file in your repository to override or extend the shared settings.
46+
1. **Review dependency PRs**: Renovate will create PRs for dependency updates according to the shared rules, grouping, and strategies defined here.
47+
48+
#### For Organisation Admins
49+
50+
- **Update shared config**: To change organisation-wide Renovate behaviour, edit the configuration files in this repository. Changes will propagate to all inheriting repositories.
51+
- **Monitor and audit**: Use the central config to ensure compliance and best practices across all projects.
52+
53+
### Manually Running Renovate
54+
55+
You can manually trigger the Renovate workflow from the GitHub Actions tab:
56+
57+
1. Go to the **Actions** tab in this repository.
58+
2. Select the **Renovate** workflow.
59+
3. Click **Run workflow**.
60+
4. Optionally, set the log level (`info` or `debug`) before starting.
61+
62+
This is useful for testing configuration changes or running Renovate outside the scheduled times.
63+
64+
#### Key Features
65+
66+
- **Best-practices base config**: Extends Renovate's recommended settings for reliability and security.
67+
- **Commit sign-off**: Ensures all dependency update commits are signed off for traceability.
68+
- **Dependency grouping**: Groups updates for GitHub Actions, Rust, Docker, and more for easier review.
69+
- **Custom rules**: Includes rules for disabling certain updates (e.g., Fedora OCI images) and controlling digest pinning.
70+
71+
---
72+
73+
## Getting Started
74+
75+
1. Ensure your repository is part of the organisation and Renovate is installed.
76+
1. Review the [Renovate documentation](https://docs.renovatebot.com/) for advanced usage and customisation options.
77+
78+
---
79+
80+
## Support & Contributions
81+
82+
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.
83+
84+
---
85+
86+
## License
87+
88+
MIT OR Apache-2.0

0 commit comments

Comments
 (0)