-
Notifications
You must be signed in to change notification settings - Fork 5
build
Chaque commit publié sur master
ou sur une branche concernée par une pull request vers master
, déclenche l'intégration continue sur Azure DevOps.
-
Le fichier
azure-pipelines.yml
permet de configurer la mise en forme du code, la compilation de l'interface graphique et le packaging (viaplugin_packager.py
) dans un pipe Azure. -
Le fichier
.travis.yml
permet de configurer les tests de déploiement du plugin (packaging et installation) avec Travis CI. L'environnement de tests (versions de QGIS et de Python) doit être mise à jour au fil de l'évolution du plugin en modifiant ce script. par exemple :matrix: - QGIS_VERSION_TAG=release-3_4
deviendra
matrix: - QGIS_VERSION_TAG=release-3_10
Chaque commit étiqueté (tagged) publié sur master
, déclenche l'intégration et le déploiement continus depuis Azure DevOps. En plus des taches listées précédemment, le fichier azure-pipelines.yml
permet alors la création d'une GitHub Release dans ce dépôt.
-
merge les PR correspondantes à la nouvelle version dans
master
-
créer la branche
releasing-*version*
(par exemplereleasing-3.2.0
) depuismaster
: -
dans la branche
releasing-*version*
, effectuer les tâches de la check-list ci-dessous :
- [] vérifier les traductions
- [] vérifier que le code est nettoyé des logs de dev
- [] formater le code avec black
- [] corriger les erreurs indiquées par l'analyse statique
- [] vérifier le fichier `quicksearches.json` dans la version packagée dans le CI
- [] modifier le `metadata.txt` pour indiquer la nouvelle version et mettre à jour le changelog
-
coller cette check-list dans la description de la PR de
releasing-*version*
versmaster
et intituler la PR "[version] pre-release" -
récupérer le résultat de Packaging et tester l'installation via le zip, corriger si nécessaire
-
merge la PR "[version] pre-release" (si possible en mode squash) en nommant le commit "bump version to version"
-
basculer dans
master
et taguer le commit "bump version to version" correspondant au merge de la PR "[version] pre-release"
Commande exemple dans un terminal git, où XXXXXX est la signature (hash) du commit :
git tag -a 2.0.0-beta3 XXXXXXX -m "Version 2.0.0-beta3"
git push origin 2.0.0-beta3
- récupérer dans le CI la version packagée du commit tagué
- dans la branche, effectuer les tâches de la check-list ci-dessous :
- [] vérifier les traductions
- [] vérifier que le code est nettoyé des logs de dev
- [] formater le code avec black
- [] corriger les erreurs indiquées par l'analyse statique
- [] vérifier le fichier `quicksearches.json` dans la version packagée dans le CI
- [] modifier le `metadata.txt` pour indiquer la nouvelle version et mettre à jour le changelog
-
intituler la PR "[version] description" (par exemple)
-
récupérer le résultat de packaging et tester l'installation via le zip, corriger si nécessaire
-
merge la PR dans
master
-
récupérer le résultat de packaging et tester l'installation via le zip, corriger si nécessaire
-
basculer dans
master
modifier le fichiermetadata.txt
pour indiquer la nouvelle version et mettre à jour le changelog, nommer le commit "bumb version to version" -
taguer le commit "bump version to version" de l'étape précédente
Commande exemple dans un terminal git, où XXXXXX est la signature (hash) du commit :
git tag -a 2.0.0-beta3 XXXXXXX -m "Version 2.0.0-beta3"
git push origin 2.0.0-beta3
- récupérer dans le CI la version packagée du commit tagué
- se connecter avec le compte Isogeo sur le dépôt en ligne des plugins QGIS Python
- se rendre dans le dépôt du plugin Isogeo
- Manage > Add version > indiquer l'emplacement du zip packagé (récupéré pendant la dernière étape du packaging)
- cocher la case "Experimental flag" s'il s'agit d'une beta
- mettre le lien vers la release correspondante dans le changelog
- cliquer sur save
Attendre la confirmation par mail.
Isogeo© - Isogeo plugin for QGIS - wiki