Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: How Renovate Works overview - Basic #25108

Merged
merged 34 commits into from
Dec 20, 2023
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
a20693e
First draft
azro352 Oct 9, 2023
952aaaa
Lighter basic graph
azro352 Oct 9, 2023
50bd677
Apply suggestions from code review
azro352 Oct 14, 2023
fb96509
grammar
azro352 Oct 14, 2023
3a006e7
grammar
azro352 Oct 14, 2023
f253284
Apply suggestions from code review
azro352 Nov 5, 2023
2cba809
Add advanced wf
azro352 Nov 5, 2023
ec77991
Add advanced wf
azro352 Nov 5, 2023
4258dfc
Merge branch 'main' into feat/how-does-work-basic
azro352 Nov 5, 2023
50e1dd8
Apply suggestions from code review
azro352 Nov 6, 2023
bad2cb9
renamd
azro352 Nov 6, 2023
fe53bb3
Apply suggestions from code review
azro352 Nov 11, 2023
166ec5a
suggestions'
azro352 Nov 11, 2023
9505c56
Merge branch 'feat/how-does-work-basic' of https://github.com/azro352…
azro352 Nov 11, 2023
2b0aa08
Merge branch 'main' into feat/how-does-work-basic
azro352 Nov 11, 2023
d9e2ed8
lint
azro352 Nov 11, 2023
8d183dd
suggestions
azro352 Nov 13, 2023
0eaae45
Apply suggestions from code review
azro352 Nov 15, 2023
3972b24
Merge branch 'main' into feat/how-does-work-basic
azro352 Nov 15, 2023
c2858d7
suggestions
azro352 Nov 15, 2023
9cbedd1
suggestions
azro352 Nov 15, 2023
1b12035
suggestions
azro352 Nov 15, 2023
eb65672
Merge branch 'main' into feat/how-does-work-basic
azro352 Nov 15, 2023
5f0b9ce
suggestions
azro352 Nov 15, 2023
377c926
Apply suggestions from code review
azro352 Nov 16, 2023
9c8a3b9
suggestions
azro352 Nov 16, 2023
6f81b2f
Update how-renovate-works.md
azro352 Dec 9, 2023
6ebc769
Merge branch 'main' into feat/how-does-work-basic
azro352 Dec 9, 2023
f5c38cf
Update how-renovate-works.md
azro352 Dec 18, 2023
3c95e64
Update how-renovate-works.md
azro352 Dec 18, 2023
3543f7c
Update how-renovate-works.md
azro352 Dec 18, 2023
a5f261d
Update how-renovate-works.md
azro352 Dec 18, 2023
a8a89f8
Update how-renovate-works.md
azro352 Dec 19, 2023
4a39362
Update how-renovate-works.md
azro352 Dec 19, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/usage/key-concepts/.pages
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
nav:
- 'How it works ?': 'how-it-works.md'
azro352 marked this conversation as resolved.
Show resolved Hide resolved
- 'Presets': 'presets.md'
- 'Dependency Dashboard': 'dashboard.md'
- 'Pull Requests': 'pull-requests.md'
Expand Down
36 changes: 36 additions & 0 deletions docs/usage/key-concepts/how-it-works.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
azro352 marked this conversation as resolved.
Show resolved Hide resolved
title: How it works ?
azro352 marked this conversation as resolved.
Show resolved Hide resolved
description: Learn all about Renovate's workflow
azro352 marked this conversation as resolved.
Show resolved Hide resolved
---

# Introduction

Renovate works by searching for all the dependencies in your project and then look for updates for each.
azro352 marked this conversation as resolved.
Show resolved Hide resolved

To be compatible with the variety of dependency-naming and versioning conventions, Renovate has defined modules for each known convention, and you can define your own too.
azro352 marked this conversation as resolved.
Show resolved Hide resolved

## Modules

The three modules are: [manager](../modules/manager/index.md), [datasource](../modules/datasource/index.md) and [versioning](../modules/versioning.md).
azro352 marked this conversation as resolved.
Show resolved Hide resolved

They are used sequentially:
azro352 marked this conversation as resolved.
Show resolved Hide resolved

1. the manager module looks for files based on their name and extract dependencies from them, each dependency has a datasource
azro352 marked this conversation as resolved.
Show resolved Hide resolved
2. the datasource module looks for the existing versions of the dependency
azro352 marked this conversation as resolved.
Show resolved Hide resolved
3. the versioning module search for a valid version regarding the dependency's version
azro352 marked this conversation as resolved.
Show resolved Hide resolved

For example:

1. the `gitlabci` manager find a dependency named `python:3.10-alpine` of datasource `docker`
azro352 marked this conversation as resolved.
Show resolved Hide resolved
2. the `docker` datasource looks for versions and find `[python:3.9,python:3.9-alpine,python:3.10,python:3.10-alpine,python:3.11,python:3.11-alpine]`
azro352 marked this conversation as resolved.
Show resolved Hide resolved
3. the `docker` versioning takes `python:3.11-alpine` as it is compatible with `python:3.10-alpine`

```mermaid
flowchart TD
FEM[[For each manager]]
FEM --> FEF[[For each file]]
FEF --> FED[[For each dependency]]
FED --> DS[use datasources to get update list]
DS --> VR[use versioning to find the next valid update]
VR --> PR[Collect updates and setup the needed PRs]
```
azro352 marked this conversation as resolved.
Show resolved Hide resolved