Migration datamodels !
This commit is contained in:
180
GITEA_RELEASE_WORKFLOW.md
Normal file
180
GITEA_RELEASE_WORKFLOW.md
Normal file
@@ -0,0 +1,180 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user