Files
fvtt-wasteland/GITEA_RELEASE_WORKFLOW.md

5.0 KiB

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 :

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 :

{
  "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

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

# 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

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 :

# 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)