181 lines
5.0 KiB
Markdown
181 lines
5.0 KiB
Markdown
# Workflow de Release Gitea pour Wasteland
|
|
|
|
## Vue d'ensemble
|
|
|
|
Ce workflow automatise la création de releases pour le système Wasteland dans Foundry VTT via Gitea Actions.
|
|
|
|
## Déclenchement
|
|
|
|
Le workflow se déclenche automatiquement lors de la **publication d'une release** sur Gitea :
|
|
|
|
```yaml
|
|
on:
|
|
release:
|
|
types: [published]
|
|
```
|
|
|
|
## Étapes du Workflow
|
|
|
|
### 1. Clone du Repository
|
|
- Clone le repository Wasteland
|
|
- Utilise `RouxAntoine/checkout@v3.5.4`
|
|
|
|
### 2. Extraction du Numéro de Version
|
|
- Extrait la version depuis le tag de release
|
|
- Exemple: tag `v1.2.3` → version `1.2.3`
|
|
- Utilise `battila7/get-version-action@v2`
|
|
|
|
### 3. Substitution des URLs dans system.json
|
|
Met à jour automatiquement le `system.json` avec :
|
|
|
|
```json
|
|
{
|
|
"version": "1.2.3",
|
|
"url": "https://www.uberwald.me/gitea/public/fvtt-wasteland",
|
|
"manifest": "https://www.uberwald.me/gitea/public/fvtt-wasteland/releases/download/latest/system.json",
|
|
"download": "https://www.uberwald.me/gitea/public/fvtt-wasteland/releases/download/v1.2.3/fvtt-wasteland.zip"
|
|
}
|
|
```
|
|
|
|
### 4. Création du ZIP
|
|
Crée `fvtt-wasteland.zip` contenant :
|
|
- `system.json` (mis à jour)
|
|
- `README.md`
|
|
- `changelog.md`
|
|
- `assets/`
|
|
- `lang/`
|
|
- `modules/`
|
|
- `packs/`
|
|
- `styles/`
|
|
- `templates/`
|
|
- `template.json`
|
|
|
|
**Note:** Exclut `node_modules/`, `less/`, `gulpfile.js`, etc.
|
|
|
|
### 5. Upload vers Gitea
|
|
- Upload du ZIP et du system.json vers la release
|
|
- Utilise le secret `ALLOW_PUSH_RELEASE`
|
|
|
|
### 6. Publication sur Foundry VTT
|
|
- Notifie le site officiel Foundry VTT de la nouvelle version
|
|
- Utilise le secret `FOUNDRYVTT_RELEASE_TOKEN`
|
|
- Compatibilité: Foundry V13
|
|
|
|
## Secrets Requis
|
|
|
|
Dans les paramètres du repository Gitea, configurer :
|
|
|
|
1. **`ALLOW_PUSH_RELEASE`**
|
|
- Token Gitea avec droits d'écriture sur releases
|
|
- Généré dans : Paramètres utilisateur → Applications → Tokens
|
|
|
|
2. **`FOUNDRYVTT_RELEASE_TOKEN`**
|
|
- Token du Foundry Package Creator
|
|
- Obtenu sur : https://foundryvtt.com/packages/edit/fvtt-wasteland
|
|
|
|
## Comment Créer une Release
|
|
|
|
### Méthode 1: Via l'Interface Gitea
|
|
|
|
1. Aller sur `https://www.uberwald.me/gitea/public/fvtt-wasteland`
|
|
2. Cliquer sur "Releases"
|
|
3. Cliquer sur "New Release"
|
|
4. Remplir :
|
|
- **Tag version**: `v1.2.3` (respecter le format `vX.Y.Z`)
|
|
- **Release title**: `Version 1.2.3 - Description courte`
|
|
- **Description**: Changelog détaillé
|
|
5. Cocher "This is a pre-release" si applicable
|
|
6. Cliquer sur "Publish Release"
|
|
|
|
### Méthode 2: Via Git CLI
|
|
|
|
```bash
|
|
# Créer et pousser le tag
|
|
git tag -a v1.2.3 -m "Version 1.2.3 - Description"
|
|
git push origin v1.2.3
|
|
|
|
# Puis créer la release via l'interface Gitea
|
|
```
|
|
|
|
## Déroulement Automatique
|
|
|
|
1. ✅ Détection de la publication de release
|
|
2. ✅ Clone du repository
|
|
3. ✅ Extraction de la version depuis le tag
|
|
4. ✅ Mise à jour du system.json
|
|
5. ✅ Création du ZIP
|
|
6. ✅ Upload sur Gitea
|
|
7. ✅ Publication sur Foundry VTT
|
|
|
|
## Vérification
|
|
|
|
Après publication, vérifier :
|
|
|
|
1. **Sur Gitea** : `https://www.uberwald.me/gitea/public/fvtt-wasteland/releases`
|
|
- Le ZIP `fvtt-wasteland.zip` est disponible
|
|
- Le `system.json` est disponible
|
|
- Les URLs sont correctes
|
|
|
|
2. **Sur Foundry VTT** : https://foundryvtt.com/packages/fvtt-wasteland
|
|
- La nouvelle version apparaît
|
|
- Le manifest pointe vers le bon fichier
|
|
|
|
3. **Dans Foundry** :
|
|
- Installer/Mettre à jour le système
|
|
- Vérifier que tout fonctionne
|
|
|
|
## URLs Importantes
|
|
|
|
- **Repository**: https://www.uberwald.me/gitea/public/fvtt-wasteland
|
|
- **Releases**: https://www.uberwald.me/gitea/public/fvtt-wasteland/releases
|
|
- **Manifest (latest)**: https://www.uberwald.me/gitea/public/fvtt-wasteland/releases/download/latest/system.json
|
|
- **Foundry Package**: https://foundryvtt.com/packages/fvtt-wasteland
|
|
|
|
## Troubleshooting
|
|
|
|
### Le workflow ne se déclenche pas
|
|
- Vérifier que la release est bien **published** (pas draft)
|
|
- Vérifier que le fichier `.gitea/workflows/release.yaml` existe
|
|
|
|
### Erreur lors de la création du ZIP
|
|
- Vérifier que tous les dossiers existent
|
|
- Vérifier les permissions
|
|
|
|
### Erreur lors de la publication Foundry
|
|
- Vérifier que `FOUNDRYVTT_RELEASE_TOKEN` est configuré
|
|
- Vérifier que l'ID du package est correct (`fvtt-wasteland`)
|
|
|
|
### Les URLs ne sont pas mises à jour
|
|
- Vérifier le format du tag (doit être `vX.Y.Z`)
|
|
- Vérifier que `microsoft/variable-substitution` fonctionne
|
|
|
|
## Exemple de Changelog
|
|
|
|
Pour `v1.2.3` :
|
|
|
|
```markdown
|
|
# Version 1.2.3 - Améliorations Fiches Créatures
|
|
|
|
## Nouvelles Fonctionnalités
|
|
- Ajout de dropdowns pour niveaux de compétences créatures
|
|
- Message de bienvenue stylé
|
|
- Grille 2x2 pour valeurs de combat
|
|
|
|
## Corrections
|
|
- Fix dialog render error
|
|
- Fix attribute selection
|
|
- Fix predilection reroll
|
|
|
|
## Améliorations
|
|
- Interface créature alignée avec personnage
|
|
- Styles cohérents pour tous les messages
|
|
- Documentation complète
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Le workflow utilise Ubuntu latest
|
|
- Go 1.20.1+ est installé pour l'action de release
|
|
- Le système est compatible avec Foundry V13
|
|
- Les packs sont inclus dans le ZIP (format NeDB/LevelDB)
|