@ferrflow/doc 7.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs-en/ci/github-actions.md +120 -0
- package/docs-en/ci/gitlab-ci.md +90 -0
- package/docs-en/ci/hosted-bot.md +82 -0
- package/docs-en/ci/pipeline-triggers.md +287 -0
- package/docs-en/configuration/config-file.md +1259 -0
- package/docs-en/configuration/formats.md +220 -0
- package/docs-en/configuration/monorepo.md +390 -0
- package/docs-en/installation.md +56 -0
- package/docs-en/introduction.md +56 -0
- package/docs-en/quickstart.md +66 -0
- package/docs-en/reference/api.md +106 -0
- package/docs-en/reference/cli.md +483 -0
- package/docs-en/reference/conventional-commits.md +103 -0
- package/docs-en/reference/errors.md +508 -0
- package/docs-en/verifying-releases.md +97 -0
- package/docs-fr/ci/github-actions.md +109 -0
- package/docs-fr/ci/gitlab-ci.md +77 -0
- package/docs-fr/ci/hosted-bot.md +82 -0
- package/docs-fr/ci/pipeline-triggers.md +238 -0
- package/docs-fr/configuration/config-file.md +839 -0
- package/docs-fr/configuration/formats.md +163 -0
- package/docs-fr/configuration/monorepo.md +357 -0
- package/docs-fr/installation.md +56 -0
- package/docs-fr/introduction.md +54 -0
- package/docs-fr/quickstart.md +63 -0
- package/docs-fr/reference/api.md +106 -0
- package/docs-fr/reference/cli.md +407 -0
- package/docs-fr/reference/conventional-commits.md +103 -0
- package/docs-fr/reference/errors.md +378 -0
- package/docs-fr/verifying-releases.md +97 -0
- package/docs-fr-v4/ci/github-actions.md +106 -0
- package/docs-fr-v4/ci/gitlab-ci.md +77 -0
- package/docs-fr-v4/ci/pipeline-triggers.md +214 -0
- package/docs-fr-v4/configuration/config-file.md +769 -0
- package/docs-fr-v4/configuration/formats.md +128 -0
- package/docs-fr-v4/configuration/monorepo.md +324 -0
- package/docs-fr-v4/installation.md +48 -0
- package/docs-fr-v4/introduction.md +54 -0
- package/docs-fr-v4/legal/telemetry.md +65 -0
- package/docs-fr-v4/quickstart.md +63 -0
- package/docs-fr-v4/reference/cli.md +130 -0
- package/docs-fr-v4/reference/conventional-commits.md +67 -0
- package/docs-fr-v4/reference/errors.md +372 -0
- package/docs-fr-v5/ci/github-actions.md +109 -0
- package/docs-fr-v5/ci/gitlab-ci.md +77 -0
- package/docs-fr-v5/ci/hosted-bot.md +82 -0
- package/docs-fr-v5/ci/pipeline-triggers.md +238 -0
- package/docs-fr-v5/configuration/config-file.md +812 -0
- package/docs-fr-v5/configuration/formats.md +150 -0
- package/docs-fr-v5/configuration/monorepo.md +357 -0
- package/docs-fr-v5/installation.md +56 -0
- package/docs-fr-v5/introduction.md +54 -0
- package/docs-fr-v5/legal/telemetry.md +26 -0
- package/docs-fr-v5/quickstart.md +63 -0
- package/docs-fr-v5/reference/api.md +106 -0
- package/docs-fr-v5/reference/cli.md +356 -0
- package/docs-fr-v5/reference/conventional-commits.md +88 -0
- package/docs-fr-v5/reference/errors.md +378 -0
- package/docs-fr-v5/verifying-releases.md +97 -0
- package/docs-fr-v6/ci/github-actions.md +109 -0
- package/docs-fr-v6/ci/gitlab-ci.md +77 -0
- package/docs-fr-v6/ci/hosted-bot.md +82 -0
- package/docs-fr-v6/ci/pipeline-triggers.md +238 -0
- package/docs-fr-v6/configuration/config-file.md +813 -0
- package/docs-fr-v6/configuration/formats.md +150 -0
- package/docs-fr-v6/configuration/monorepo.md +357 -0
- package/docs-fr-v6/installation.md +56 -0
- package/docs-fr-v6/introduction.md +54 -0
- package/docs-fr-v6/quickstart.md +63 -0
- package/docs-fr-v6/reference/api.md +106 -0
- package/docs-fr-v6/reference/cli.md +356 -0
- package/docs-fr-v6/reference/conventional-commits.md +88 -0
- package/docs-fr-v6/reference/errors.md +378 -0
- package/docs-fr-v6/verifying-releases.md +97 -0
- package/docs-v0/ci/github-actions.md +77 -0
- package/docs-v0/ci/gitlab-ci.md +59 -0
- package/docs-v0/configuration/config-file.md +97 -0
- package/docs-v0/configuration/formats.md +86 -0
- package/docs-v0/configuration/monorepo.md +59 -0
- package/docs-v0/installation.md +48 -0
- package/docs-v0/introduction.md +34 -0
- package/docs-v0/legal/telemetry.md +63 -0
- package/docs-v0/quickstart.md +58 -0
- package/docs-v0/reference/cli.md +95 -0
- package/docs-v0/reference/conventional-commits.md +68 -0
- package/docs-v1/ci/github-actions.md +76 -0
- package/docs-v1/ci/gitlab-ci.md +58 -0
- package/docs-v1/configuration/config-file.md +515 -0
- package/docs-v1/configuration/formats.md +115 -0
- package/docs-v1/configuration/monorepo.md +246 -0
- package/docs-v1/installation.md +48 -0
- package/docs-v1/introduction.md +39 -0
- package/docs-v1/legal/telemetry.md +63 -0
- package/docs-v1/quickstart.md +62 -0
- package/docs-v1/reference/cli.md +128 -0
- package/docs-v1/reference/conventional-commits.md +67 -0
- package/docs-v2/ci/github-actions.md +117 -0
- package/docs-v2/ci/gitlab-ci.md +90 -0
- package/docs-v2/ci/pipeline-triggers.md +263 -0
- package/docs-v2/configuration/config-file.md +806 -0
- package/docs-v2/configuration/formats.md +98 -0
- package/docs-v2/configuration/monorepo.md +324 -0
- package/docs-v2/installation.md +48 -0
- package/docs-v2/introduction.md +40 -0
- package/docs-v2/legal/telemetry.md +66 -0
- package/docs-v2/quickstart.md +63 -0
- package/docs-v2/reference/cli.md +130 -0
- package/docs-v2/reference/conventional-commits.md +67 -0
- package/docs-v2/reference/errors.md +500 -0
- package/docs-v2/self-hosting.md +101 -0
- package/docs-v3/ci/github-actions.md +117 -0
- package/docs-v3/ci/gitlab-ci.md +90 -0
- package/docs-v3/ci/pipeline-triggers.md +263 -0
- package/docs-v3/configuration/config-file.md +806 -0
- package/docs-v3/configuration/formats.md +99 -0
- package/docs-v3/configuration/monorepo.md +324 -0
- package/docs-v3/installation.md +48 -0
- package/docs-v3/introduction.md +40 -0
- package/docs-v3/legal/telemetry.md +66 -0
- package/docs-v3/quickstart.md +66 -0
- package/docs-v3/reference/cli.md +161 -0
- package/docs-v3/reference/conventional-commits.md +67 -0
- package/docs-v3/reference/errors.md +502 -0
- package/docs-v3/self-hosting.md +137 -0
- package/docs-v4/ci/github-actions.md +117 -0
- package/docs-v4/ci/gitlab-ci.md +90 -0
- package/docs-v4/ci/pipeline-triggers.md +263 -0
- package/docs-v4/configuration/config-file.md +850 -0
- package/docs-v4/configuration/formats.md +182 -0
- package/docs-v4/configuration/monorepo.md +324 -0
- package/docs-v4/installation.md +48 -0
- package/docs-v4/introduction.md +56 -0
- package/docs-v4/legal/telemetry.md +65 -0
- package/docs-v4/quickstart.md +66 -0
- package/docs-v4/reference/cli.md +161 -0
- package/docs-v4/reference/conventional-commits.md +67 -0
- package/docs-v4/reference/errors.md +502 -0
- package/docs-v4/self-hosting.md +137 -0
- package/docs-v5/ci/github-actions.md +120 -0
- package/docs-v5/ci/gitlab-ci.md +90 -0
- package/docs-v5/ci/hosted-bot.md +82 -0
- package/docs-v5/ci/pipeline-triggers.md +287 -0
- package/docs-v5/configuration/config-file.md +1133 -0
- package/docs-v5/configuration/formats.md +206 -0
- package/docs-v5/configuration/monorepo.md +390 -0
- package/docs-v5/installation.md +56 -0
- package/docs-v5/introduction.md +56 -0
- package/docs-v5/legal/telemetry.md +26 -0
- package/docs-v5/quickstart.md +66 -0
- package/docs-v5/reference/api.md +106 -0
- package/docs-v5/reference/cli.md +431 -0
- package/docs-v5/reference/conventional-commits.md +88 -0
- package/docs-v5/reference/errors.md +508 -0
- package/docs-v5/verifying-releases.md +97 -0
- package/docs-v6/ci/github-actions.md +120 -0
- package/docs-v6/ci/gitlab-ci.md +90 -0
- package/docs-v6/ci/hosted-bot.md +82 -0
- package/docs-v6/ci/pipeline-triggers.md +287 -0
- package/docs-v6/configuration/config-file.md +1134 -0
- package/docs-v6/configuration/formats.md +206 -0
- package/docs-v6/configuration/monorepo.md +390 -0
- package/docs-v6/installation.md +56 -0
- package/docs-v6/introduction.md +56 -0
- package/docs-v6/quickstart.md +66 -0
- package/docs-v6/reference/api.md +106 -0
- package/docs-v6/reference/cli.md +431 -0
- package/docs-v6/reference/conventional-commits.md +88 -0
- package/docs-v6/reference/errors.md +508 -0
- package/docs-v6/verifying-releases.md +97 -0
- package/package.json +17 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Démarrage rapide
|
|
3
|
+
description: De zéro à votre première release automatisée en moins de 5 minutes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<ol>
|
|
7
|
+
<li><p><strong>Générer la configuration</strong></p>
|
|
8
|
+
<p>Exécutez <code>ferrflow init</code> à la racine de votre repository. Il détecte vos fichiers de version et génère un fichier <code>.ferrflow</code> :</p>
|
|
9
|
+
<pre><code class="language-bash">ferrflow init
|
|
10
|
+
</code></pre>
|
|
11
|
+
<p>Pour un projet Rust, cela produit :</p>
|
|
12
|
+
<pre><code class="language-json">{
|
|
13
|
+
"$schema": "https://ferrflow.com/schema/ferrflow.json",
|
|
14
|
+
"workspace": {
|
|
15
|
+
"tagTemplate": "v{version}"
|
|
16
|
+
},
|
|
17
|
+
"package": [
|
|
18
|
+
{
|
|
19
|
+
"name": "my-app",
|
|
20
|
+
"path": ".",
|
|
21
|
+
"changelog": "CHANGELOG.md",
|
|
22
|
+
"versionedFiles": [
|
|
23
|
+
{ "path": "Cargo.toml", "format": "toml" }
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
</code></pre>
|
|
29
|
+
</li>
|
|
30
|
+
<li><p><strong>Prévisualiser le résultat</strong></p>
|
|
31
|
+
<p>Avant de toucher à quoi que ce soit, lancez un dry-run pour voir ce que FerrFlow ferait :</p>
|
|
32
|
+
<pre><code class="language-bash">ferrflow check
|
|
33
|
+
</code></pre>
|
|
34
|
+
<p>Sortie :</p>
|
|
35
|
+
<pre><code>Scanning . ...
|
|
36
|
+
→ feat: add user authentication
|
|
37
|
+
→ fix: correct pagination offset
|
|
38
|
+
|
|
39
|
+
Bump my-app 0.1.0 → 0.2.0
|
|
40
|
+
Tag v0.2.0
|
|
41
|
+
</code></pre>
|
|
42
|
+
</li>
|
|
43
|
+
<li><p><strong>Lancer la release</strong></p>
|
|
44
|
+
<pre><code class="language-bash">ferrflow release
|
|
45
|
+
</code></pre>
|
|
46
|
+
<p>FerrFlow va :</p>
|
|
47
|
+
<ul>
|
|
48
|
+
<li>Mettre à jour <code>Cargo.toml</code> à <code>0.2.0</code></li>
|
|
49
|
+
<li>Compléter <code>CHANGELOG.md</code></li>
|
|
50
|
+
<li>Committer les changements</li>
|
|
51
|
+
<li>Créer et pousser <code>v0.2.0</code></li>
|
|
52
|
+
<li>Créer une release GitHub (si <code>GITHUB_TOKEN</code> est défini)</li>
|
|
53
|
+
</ul>
|
|
54
|
+
</li>
|
|
55
|
+
</ol>
|
|
56
|
+
|
|
57
|
+
## Étapes suivantes
|
|
58
|
+
|
|
59
|
+
- Configurez [GitHub Actions](/fr/docs/ci/github-actions) pour lancer les releases automatiquement sur push vers `main`
|
|
60
|
+
- Configurez un [monorepo](/fr/docs/configuration/monorepo) si vous avez plusieurs packages
|
|
61
|
+
- Ajoutez des [hooks pre/post-release](/fr/docs/configuration/config-file#hooks) pour des scripts personnalisés pendant le cycle de release
|
|
62
|
+
- Utilisez `ferrflow version` et `ferrflow tag` dans vos scripts CI — voir la [référence CLI](/fr/docs/reference/cli)
|
|
63
|
+
- Consultez la [référence de configuration](/fr/docs/configuration/config-file) complète
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Commandes CLI
|
|
3
|
+
description: Référence complète de toutes les commandes et options du CLI FerrFlow.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## `ferrflow release`
|
|
7
|
+
|
|
8
|
+
Lance le pipeline complet de release : bump des versions, mise à jour des changelogs, commit, tag, push et création de la release.
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
ferrflow release [OPTIONS]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
| Option | Description |
|
|
15
|
+
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
16
|
+
| `--dry-run` | Prévisualiser tous les changements sans écrire, committer ou pousser |
|
|
17
|
+
| `--force` | Autoriser les floating tags à reculer vers une version inférieure |
|
|
18
|
+
| `--force-version <VERSION>` | Forcer une version spécifique, sans analyser les commits. Format : `VERSION` (repo simple) ou `NAME@VERSION` (monorepo) |
|
|
19
|
+
| `--verbose`, `-v` | Afficher la sortie détaillée incluant les hashes de commits et les diffs de fichiers |
|
|
20
|
+
|
|
21
|
+
**Ce que ça fait :**
|
|
22
|
+
|
|
23
|
+
1. Scanne les commits depuis le dernier tag pour chaque package
|
|
24
|
+
2. Détermine l'incrément de version à partir des Conventional Commits
|
|
25
|
+
3. Met à jour tous les `versionedFiles` avec la nouvelle version
|
|
26
|
+
4. Ajoute la nouvelle section au `CHANGELOG.md`
|
|
27
|
+
5. Crée un commit git, ouvre une PR, ou passe (selon `releaseCommitMode`)
|
|
28
|
+
6. Crée et pousse le tag git
|
|
29
|
+
7. Crée une release GitHub/GitLab avec le changelog comme notes
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## `ferrflow check`
|
|
34
|
+
|
|
35
|
+
Prévisualiser ce que `ferrflow release` ferait sans effectuer de changements. Équivalent à `ferrflow release --dry-run`.
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
ferrflow check
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## `ferrflow changelog`
|
|
44
|
+
|
|
45
|
+
Générer ou mettre à jour `CHANGELOG.md` uniquement, sans bumper les versions ni créer de tags.
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
ferrflow changelog [OPTIONS]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
| Option | Description |
|
|
52
|
+
| ----------- | -------------------------------------------------------- |
|
|
53
|
+
| `--dry-run` | Afficher l'entrée du changelog sans écrire sur le disque |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## `ferrflow init`
|
|
58
|
+
|
|
59
|
+
Générer un fichier de configuration pour le repository courant. Détecte les fichiers de version existants (`Cargo.toml`, `package.json`, etc.) et génère la configuration appropriée.
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
ferrflow init [OPTIONS]
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
| Option | Description |
|
|
66
|
+
| ------------------- | -------------------------------------------------------------- |
|
|
67
|
+
| `--format <FORMAT>` | Format du fichier de configuration : `json`, `json5` ou `toml` |
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## `ferrflow status`
|
|
72
|
+
|
|
73
|
+
Afficher la version actuelle de chaque package et si une release serait déclenchée.
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
ferrflow status [OPTIONS]
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
| Option | Description |
|
|
80
|
+
| ------------------- | -------------------------------------------- |
|
|
81
|
+
| `--output <FORMAT>` | Format de sortie : `text` (défaut) ou `json` |
|
|
82
|
+
|
|
83
|
+
Exemple de sortie :
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
api 1.2.3 minor bump pending (1 feat commit)
|
|
87
|
+
site 0.4.1 no release (only chore commits)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## `ferrflow version`
|
|
93
|
+
|
|
94
|
+
Afficher la version actuelle d'un ou de tous les packages. Utile dans les scripts CI.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
ferrflow version [PACKAGE] [OPTIONS]
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
| Option | Description |
|
|
101
|
+
| -------- | --------------------- |
|
|
102
|
+
| `--json` | Sortie au format JSON |
|
|
103
|
+
|
|
104
|
+
Retourne la version depuis le dernier tag git correspondant au modèle de tag du package.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## `ferrflow tag`
|
|
109
|
+
|
|
110
|
+
Afficher le dernier tag pour un ou tous les packages.
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
ferrflow tag [PACKAGE] [OPTIONS]
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
| Option | Description |
|
|
117
|
+
| -------- | --------------------- |
|
|
118
|
+
| `--json` | Sortie au format JSON |
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Options globales
|
|
123
|
+
|
|
124
|
+
Ces options fonctionnent avec toutes les commandes :
|
|
125
|
+
|
|
126
|
+
| Option | Description |
|
|
127
|
+
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
128
|
+
| `--config <PATH>` | Chemin vers un fichier de configuration personnalisé (défaut : auto-détecté). Accepte aussi la variable d'environnement `FERRFLOW_CONFIG`. |
|
|
129
|
+
| `--version` | Afficher la version de FerrFlow et quitter |
|
|
130
|
+
| `--help`, `-h` | Afficher l'aide |
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Conventional Commits
|
|
3
|
+
description: Comment FerrFlow interprète les messages de commit pour déterminer les incréments de version.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
FerrFlow suit la spécification [Conventional Commits](https://www.conventionalcommits.org/) pour déterminer de combien incrémenter la version.
|
|
7
|
+
|
|
8
|
+
## Règles d'incrément
|
|
9
|
+
|
|
10
|
+
| Type de commit | Incrément de version | Exemple |
|
|
11
|
+
| ----------------------------- | -------------------- | ----------------------------------- |
|
|
12
|
+
| `feat:` | **minor** | `feat: add wallet subscriptions` |
|
|
13
|
+
| `fix:` | patch | `fix: correct pagination offset` |
|
|
14
|
+
| `perf:` | patch | `perf: cache user queries` |
|
|
15
|
+
| `refactor:` | patch | `refactor: extract auth middleware` |
|
|
16
|
+
| `feat!:` ou `BREAKING CHANGE` | **major** | `feat!: remove deprecated endpoint` |
|
|
17
|
+
| `chore:` | aucun | `chore: update dependencies` |
|
|
18
|
+
| `docs:` | aucun | `docs: update README` |
|
|
19
|
+
| `ci:` | aucun | `ci: add linting step` |
|
|
20
|
+
| `style:` | aucun | `style: format code` |
|
|
21
|
+
| `test:` | aucun | `test: add unit tests` |
|
|
22
|
+
|
|
23
|
+
## Breaking changes
|
|
24
|
+
|
|
25
|
+
Un breaking change peut être indiqué de deux manières :
|
|
26
|
+
|
|
27
|
+
**Suffixe point d'exclamation :**
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
feat!: remove the /v1/users endpoint
|
|
31
|
+
fix!: change authentication header format
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Footer `BREAKING CHANGE` :**
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
feat: redesign the API
|
|
38
|
+
|
|
39
|
+
BREAKING CHANGE: The /v1/users endpoint has been removed. Use /v2/users instead.
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Les deux produisent un incrément **major**.
|
|
43
|
+
|
|
44
|
+
## Scope
|
|
45
|
+
|
|
46
|
+
Les scopes sont optionnels et ignorés pour le calcul de l'incrément. Ils sont utiles pour la lisibilité :
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
feat(auth): add OAuth2 support → incrément minor
|
|
50
|
+
fix(db): correct index on user table → incrément patch
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Pas de release
|
|
54
|
+
|
|
55
|
+
Les commits de type `chore`, `docs`, `ci`, `style` ou `test` ne déclenchent pas de release. Si tous les commits depuis le dernier tag sont de ces types, FerrFlow se termine sans créer de nouvelle version.
|
|
56
|
+
|
|
57
|
+
## Commits multiples
|
|
58
|
+
|
|
59
|
+
Lorsque plusieurs commits sont présents depuis le dernier tag, FerrFlow prend l'incrément le **plus élevé** parmi tous :
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
fix: correct typo → patch
|
|
63
|
+
feat: add export button → minor ← gagne
|
|
64
|
+
chore: lint → aucun
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Résultat : incrément **minor**.
|
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Codes d'erreur
|
|
3
|
+
description: "R\u00e9f\u00e9rence des codes d'erreur FerrFlow avec causes et solutions."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Quand FerrFlow rencontre une erreur, il affiche un code comme `error[E2001]` avec un lien vers cette page. Utilisez le code pour trouver la cause et la solution.
|
|
7
|
+
|
|
8
|
+
## Erreurs de configuration
|
|
9
|
+
|
|
10
|
+
### E1001 : Fichier de config introuvable
|
|
11
|
+
|
|
12
|
+
<span id="e1001"></span>
|
|
13
|
+
|
|
14
|
+
Le fichier de config indiqu\u00e9 via `--config` n'existe pas.
|
|
15
|
+
|
|
16
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>Lancez <code>ferrflow init</code> pour cr\u00e9er un fichier de config, ou v\u00e9rifiez le chemin.</p>
|
|
17
|
+
</div></aside>
|
|
18
|
+
|
|
19
|
+
### E1002 : \u00c9chec du parsing ferrflow.json
|
|
20
|
+
|
|
21
|
+
<span id="e1002"></span>
|
|
22
|
+
|
|
23
|
+
Le fichier `ferrflow.json` contient du JSON invalide.
|
|
24
|
+
|
|
25
|
+
### E1003 : \u00c9chec du parsing ferrflow.json5
|
|
26
|
+
|
|
27
|
+
<span id="e1003"></span>
|
|
28
|
+
|
|
29
|
+
Le fichier `ferrflow.json5` contient du JSON5 invalide.
|
|
30
|
+
|
|
31
|
+
### E1004 : \u00c9chec du parsing ferrflow.toml
|
|
32
|
+
|
|
33
|
+
<span id="e1004"></span>
|
|
34
|
+
|
|
35
|
+
Le fichier `ferrflow.toml` contient du TOML invalide.
|
|
36
|
+
|
|
37
|
+
### E1005 : Erreur de s\u00e9rialisation TOML
|
|
38
|
+
|
|
39
|
+
<span id="e1005"></span>
|
|
40
|
+
|
|
41
|
+
Erreur interne lors de l'\u00e9criture TOML.
|
|
42
|
+
|
|
43
|
+
### E1006 : \u00c9chec du parsing .ferrflow
|
|
44
|
+
|
|
45
|
+
<span id="e1006"></span>
|
|
46
|
+
|
|
47
|
+
Le fichier `.ferrflow` contient du JSON invalide.
|
|
48
|
+
|
|
49
|
+
### E1007 : Erreur de s\u00e9rialisation .ferrflow
|
|
50
|
+
|
|
51
|
+
<span id="e1007"></span>
|
|
52
|
+
|
|
53
|
+
Erreur interne lors de l'\u00e9criture du dotfile.
|
|
54
|
+
|
|
55
|
+
### E1008 : R\u00e9solution de chemin impossible
|
|
56
|
+
|
|
57
|
+
<span id="e1008"></span>
|
|
58
|
+
|
|
59
|
+
Un chemin dans la config n'a pas pu \u00eatre r\u00e9solu en chemin absolu.
|
|
60
|
+
|
|
61
|
+
### E1009 : \u00c9criture du loader temporaire impossible
|
|
62
|
+
|
|
63
|
+
<span id="e1009"></span>
|
|
64
|
+
|
|
65
|
+
Impossible d'\u00e9crire le loader JS/TS temporaire.
|
|
66
|
+
|
|
67
|
+
### E1010 : Impossible d'ex\u00e9cuter tsx
|
|
68
|
+
|
|
69
|
+
<span id="e1010"></span>
|
|
70
|
+
|
|
71
|
+
Le runtime `tsx` est introuvable pour les configs `.ts`.
|
|
72
|
+
|
|
73
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>Installez tsx : <code>npm install -g tsx</code>, ou utilisez un format JSON/TOML.</p>
|
|
74
|
+
</div></aside>
|
|
75
|
+
|
|
76
|
+
### E1011 : Impossible d'ex\u00e9cuter node
|
|
77
|
+
|
|
78
|
+
<span id="e1011"></span>
|
|
79
|
+
|
|
80
|
+
Le runtime `node` est introuvable pour les configs `.js`.
|
|
81
|
+
|
|
82
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>Installez Node.js ou utilisez un format JSON/TOML.</p>
|
|
83
|
+
</div></aside>
|
|
84
|
+
|
|
85
|
+
### E1012 : \u00c9valuation de la config \u00e9chou\u00e9e
|
|
86
|
+
|
|
87
|
+
<span id="e1012"></span>
|
|
88
|
+
|
|
89
|
+
Le fichier JS/TS a lev\u00e9 une erreur lors de l'\u00e9valuation.
|
|
90
|
+
|
|
91
|
+
### E1013 : Sortie de config invalide
|
|
92
|
+
|
|
93
|
+
<span id="e1013"></span>
|
|
94
|
+
|
|
95
|
+
Le fichier JS/TS a produit une sortie non UTF-8.
|
|
96
|
+
|
|
97
|
+
### E1014 : JSON invalide depuis la config
|
|
98
|
+
|
|
99
|
+
<span id="e1014"></span>
|
|
100
|
+
|
|
101
|
+
Le fichier JS/TS n'a pas produit de JSON valide.
|
|
102
|
+
|
|
103
|
+
### E1015 : Lecture du fichier impossible
|
|
104
|
+
|
|
105
|
+
<span id="e1015"></span>
|
|
106
|
+
|
|
107
|
+
Le fichier de config existe mais ne peut pas \u00eatre lu.
|
|
108
|
+
|
|
109
|
+
### E1016 : Plusieurs fichiers de config
|
|
110
|
+
|
|
111
|
+
<span id="e1016"></span>
|
|
112
|
+
|
|
113
|
+
Plusieurs fichiers de config trouv\u00e9s dans le r\u00e9pertoire.
|
|
114
|
+
|
|
115
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>Gardez un seul fichier de config.</p>
|
|
116
|
+
</div></aside>
|
|
117
|
+
|
|
118
|
+
### E1017 : Fichier d\u00e9j\u00e0 existant
|
|
119
|
+
|
|
120
|
+
<span id="e1017"></span>
|
|
121
|
+
|
|
122
|
+
`ferrflow init` lanc\u00e9 alors qu'un fichier de config existe d\u00e9j\u00e0.
|
|
123
|
+
|
|
124
|
+
## Erreurs de validation
|
|
125
|
+
|
|
126
|
+
### E1100 : Spec de repo invalide
|
|
127
|
+
|
|
128
|
+
<span id="e1100"></span>
|
|
129
|
+
|
|
130
|
+
L'argument `--repo` ne correspond pas au format attendu `owner/repo`.
|
|
131
|
+
|
|
132
|
+
### E1101 : Erreur API GitHub
|
|
133
|
+
|
|
134
|
+
<span id="e1101"></span>
|
|
135
|
+
|
|
136
|
+
L'API GitHub a retourn\u00e9 une erreur lors de la validation distante.
|
|
137
|
+
|
|
138
|
+
### E1102 : Erreur API GitLab
|
|
139
|
+
|
|
140
|
+
<span id="e1102"></span>
|
|
141
|
+
|
|
142
|
+
L'API GitLab a retourn\u00e9 une erreur lors de la validation distante.
|
|
143
|
+
|
|
144
|
+
### E1103 : UTF-8 invalide
|
|
145
|
+
|
|
146
|
+
<span id="e1103"></span>
|
|
147
|
+
|
|
148
|
+
Le fichier de config distant contient un encodage UTF-8 invalide.
|
|
149
|
+
|
|
150
|
+
### E1104 : Parsing de la config distante \u00e9chou\u00e9
|
|
151
|
+
|
|
152
|
+
<span id="e1104"></span>
|
|
153
|
+
|
|
154
|
+
Le fichier de config distant n'a pas pu \u00eatre pars\u00e9.
|
|
155
|
+
|
|
156
|
+
### E1105 : Fichier de config distant introuvable
|
|
157
|
+
|
|
158
|
+
<span id="e1105"></span>
|
|
159
|
+
|
|
160
|
+
Le chemin sp\u00e9cifi\u00e9 n'existe pas dans le d\u00e9p\u00f4t distant.
|
|
161
|
+
|
|
162
|
+
### E1106 : Aucun fichier de config trouv\u00e9
|
|
163
|
+
|
|
164
|
+
<span id="e1106"></span>
|
|
165
|
+
|
|
166
|
+
Aucun fichier de config FerrFlow dans le d\u00e9p\u00f4t distant.
|
|
167
|
+
|
|
168
|
+
### E1107 : --ref n\u00e9cessite --repo
|
|
169
|
+
|
|
170
|
+
<span id="e1107"></span>
|
|
171
|
+
|
|
172
|
+
Le flag `--ref` a \u00e9t\u00e9 utilis\u00e9 sans `--repo`.
|
|
173
|
+
|
|
174
|
+
## Op\u00e9rations Git
|
|
175
|
+
|
|
176
|
+
### E2001 : Pas un d\u00e9p\u00f4t git
|
|
177
|
+
|
|
178
|
+
<span id="e2001"></span>
|
|
179
|
+
|
|
180
|
+
Le r\u00e9pertoire courant n'est pas dans un d\u00e9p\u00f4t git.
|
|
181
|
+
|
|
182
|
+
### E2002 : D\u00e9p\u00f4t bare non support\u00e9
|
|
183
|
+
|
|
184
|
+
<span id="e2002"></span>
|
|
185
|
+
|
|
186
|
+
FerrFlow ne supporte pas les d\u00e9p\u00f4ts git bare.
|
|
187
|
+
|
|
188
|
+
### E2003 : Tag existant
|
|
189
|
+
|
|
190
|
+
<span id="e2003"></span>
|
|
191
|
+
|
|
192
|
+
Le tag que FerrFlow veut cr\u00e9er existe d\u00e9j\u00e0.
|
|
193
|
+
|
|
194
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>Supprimez le tag existant ou utilisez <code>--force</code>.</p>
|
|
195
|
+
</div></aside>
|
|
196
|
+
|
|
197
|
+
### E2004 : Push de branche \u00e9chou\u00e9
|
|
198
|
+
|
|
199
|
+
<span id="e2004"></span>
|
|
200
|
+
|
|
201
|
+
Impossible de push la branche de release.
|
|
202
|
+
|
|
203
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>V\u00e9rifiez vos droits de push et les r\u00e8gles de protection.</p>
|
|
204
|
+
</div></aside>
|
|
205
|
+
|
|
206
|
+
### E2005 : Push rejet\u00e9
|
|
207
|
+
|
|
208
|
+
<span id="e2005"></span>
|
|
209
|
+
|
|
210
|
+
Le remote a rejet\u00e9 le push.
|
|
211
|
+
|
|
212
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>Pullez les derniers changements et r\u00e9essayez.</p>
|
|
213
|
+
</div></aside>
|
|
214
|
+
|
|
215
|
+
### E2006 : Push des tags \u00e9chou\u00e9
|
|
216
|
+
|
|
217
|
+
<span id="e2006"></span>
|
|
218
|
+
|
|
219
|
+
Impossible de push les tags vers le remote.
|
|
220
|
+
|
|
221
|
+
### E2007 : Push des tags flottants \u00e9chou\u00e9
|
|
222
|
+
|
|
223
|
+
<span id="e2007"></span>
|
|
224
|
+
|
|
225
|
+
Impossible de force-push les tags flottants.
|
|
226
|
+
|
|
227
|
+
### E2008 : Remote introuvable
|
|
228
|
+
|
|
229
|
+
<span id="e2008"></span>
|
|
230
|
+
|
|
231
|
+
Le remote git configur\u00e9 n'existe pas.
|
|
232
|
+
|
|
233
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>V\u00e9rifiez <code>git remote -v</code> et le champ <code>remote</code> de votre config.</p>
|
|
234
|
+
</div></aside>
|
|
235
|
+
|
|
236
|
+
### E2009 : V\u00e9rification post-push \u00e9chou\u00e9e
|
|
237
|
+
|
|
238
|
+
<span id="e2009"></span>
|
|
239
|
+
|
|
240
|
+
Le commit de release n'a pas pu \u00eatre v\u00e9rifi\u00e9 sur la branche distante.
|
|
241
|
+
|
|
242
|
+
### E2010 : Branche distante introuvable
|
|
243
|
+
|
|
244
|
+
<span id="e2010"></span>
|
|
245
|
+
|
|
246
|
+
La branche distante n'a pas \u00e9t\u00e9 trouv\u00e9e apr\u00e8s le push.
|
|
247
|
+
|
|
248
|
+
## API GitHub
|
|
249
|
+
|
|
250
|
+
### E3001 : Cr\u00e9ation de release \u00e9chou\u00e9e
|
|
251
|
+
|
|
252
|
+
<span id="e3001"></span>
|
|
253
|
+
|
|
254
|
+
L'API GitHub Releases a retourn\u00e9 une erreur.
|
|
255
|
+
|
|
256
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>V\u00e9rifiez que <code>GITHUB_TOKEN</code> a la permission <code>contents: write</code>.</p>
|
|
257
|
+
</div></aside>
|
|
258
|
+
|
|
259
|
+
### E3002 to E3010 : Erreurs API GitHub
|
|
260
|
+
|
|
261
|
+
<span id="e3002"></span>
|
|
262
|
+
|
|
263
|
+
Erreurs lors d'op\u00e9rations sur l'API GitHub (releases, PR, auto-merge, GraphQL).
|
|
264
|
+
|
|
265
|
+
## API GitLab
|
|
266
|
+
|
|
267
|
+
### E3101 : Cr\u00e9ation de release \u00e9chou\u00e9e
|
|
268
|
+
|
|
269
|
+
<span id="e3101"></span>
|
|
270
|
+
|
|
271
|
+
L'API GitLab Releases a retourn\u00e9 une erreur.
|
|
272
|
+
|
|
273
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>V\u00e9rifiez que le token CI a les acc\u00e8s API n\u00e9cessaires.</p>
|
|
274
|
+
</div></aside>
|
|
275
|
+
|
|
276
|
+
### E3102 to E3105 : Erreurs API GitLab
|
|
277
|
+
|
|
278
|
+
<span id="e3102"></span>
|
|
279
|
+
|
|
280
|
+
Erreurs lors d'op\u00e9rations sur l'API GitLab (releases, MR, merge).
|
|
281
|
+
|
|
282
|
+
## Fichiers de version
|
|
283
|
+
|
|
284
|
+
Les erreurs E4xxx concernent la lecture, l'\u00e9criture et le parsing des fichiers de version :
|
|
285
|
+
|
|
286
|
+
| Plage | Format |
|
|
287
|
+
| -------------- | --------------------------------- |
|
|
288
|
+
| E4101 to E4105 | TOML (Cargo.toml, pyproject.toml) |
|
|
289
|
+
| E4201 to E4205 | JSON (package.json) |
|
|
290
|
+
| E4301 to E4304 | Helm / YAML (Chart.yaml) |
|
|
291
|
+
| E4401 to E4413 | XML / CSProj |
|
|
292
|
+
| E4501 to E4504 | Gradle |
|
|
293
|
+
| E4601 to E4603 | Go mod |
|
|
294
|
+
| E4701 to E4704 | Texte (VERSION, VERSION.txt) |
|
|
295
|
+
|
|
296
|
+
Erreurs courantes : lecture impossible, syntaxe invalide, champ `version` manquant, \u00e9criture impossible, UTF-8 invalide.
|
|
297
|
+
|
|
298
|
+
## Pr\u00e9-release
|
|
299
|
+
|
|
300
|
+
### E5001 : Nom de channel vide
|
|
301
|
+
|
|
302
|
+
<span id="e5001"></span>
|
|
303
|
+
|
|
304
|
+
Le nom du channel de pr\u00e9-release est vide.
|
|
305
|
+
|
|
306
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>Sp\u00e9cifiez un nom : <code>--channel beta</code></p>
|
|
307
|
+
</div></aside>
|
|
308
|
+
|
|
309
|
+
### E5002 : Nom de channel invalide
|
|
310
|
+
|
|
311
|
+
<span id="e5002"></span>
|
|
312
|
+
|
|
313
|
+
Seuls les alphanum\u00e9riques et tirets sont accept\u00e9s.
|
|
314
|
+
|
|
315
|
+
## Versioning
|
|
316
|
+
|
|
317
|
+
### E5010 : Semver invalide
|
|
318
|
+
|
|
319
|
+
<span id="e5010"></span>
|
|
320
|
+
|
|
321
|
+
La version actuelle n'est pas un semver valide.
|
|
322
|
+
|
|
323
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>Format attendu : <code>MAJEUR.MINEUR.PATCH</code>.</p>
|
|
324
|
+
</div></aside>
|
|
325
|
+
|
|
326
|
+
## Hooks
|
|
327
|
+
|
|
328
|
+
### E6001 : Hook \u00e9chou\u00e9
|
|
329
|
+
|
|
330
|
+
<span id="e6001"></span>
|
|
331
|
+
|
|
332
|
+
Un hook a \u00e9chou\u00e9 avec `on_failure: "abort"`.
|
|
333
|
+
|
|
334
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>V\u00e9rifiez la commande du hook, ou mettez <code>on_failure: "continue"</code>.</p>
|
|
335
|
+
</div></aside>
|
|
336
|
+
|
|
337
|
+
## Query
|
|
338
|
+
|
|
339
|
+
### E7001 : Aucun package configur\u00e9
|
|
340
|
+
|
|
341
|
+
<span id="e7001"></span>
|
|
342
|
+
|
|
343
|
+
Aucun package dans le fichier de config.
|
|
344
|
+
|
|
345
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>Lancez <code>ferrflow init</code> ou ajoutez des packages manuellement.</p>
|
|
346
|
+
</div></aside>
|
|
347
|
+
|
|
348
|
+
### E7002 : Package introuvable
|
|
349
|
+
|
|
350
|
+
<span id="e7002"></span>
|
|
351
|
+
|
|
352
|
+
Le nom de package sp\u00e9cifi\u00e9 n'existe pas dans la config.
|
|
353
|
+
|
|
354
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>Lancez <code>ferrflow version</code> pour lister les packages.</p>
|
|
355
|
+
</div></aside>
|
|
356
|
+
|
|
357
|
+
## Monorepo
|
|
358
|
+
|
|
359
|
+
### E8001 : Package introuvable dans la config
|
|
360
|
+
|
|
361
|
+
<span id="e8001"></span>
|
|
362
|
+
|
|
363
|
+
Un package r\u00e9f\u00e9renc\u00e9 pendant la release n'a pas \u00e9t\u00e9 trouv\u00e9.
|
|
364
|
+
|
|
365
|
+
### E8002 : Tag flottant r\u00e9gressif
|
|
366
|
+
|
|
367
|
+
<span id="e8002"></span>
|
|
368
|
+
|
|
369
|
+
Un tag flottant serait d\u00e9plac\u00e9 vers une version plus ancienne.
|
|
370
|
+
|
|
371
|
+
<aside class="ferr-aside ferr-aside--tip"><div class="ferr-aside__body"><p>Utilisez <code>--force</code> pour ignorer la v\u00e9rification.</p>
|
|
372
|
+
</div></aside>
|