-
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 un run de la pipeline Azure DevOps comprennant :
- la mise en forme du code
- la compilation de l'interface graphique
- le packaging (via
plugin_packager.py
)
Chaque commit étiqueté (tagged) publié sur master
, déclenche un run de la pipeline Azure DevOps comprennant :
- la mise en forme du code
- la compilation de l'interface graphique
- le packaging (via
plugin_packager.py
) - la création d'une GitHub Release
Il faut donc créer un tag dans master pour "publier" sur GitHub.
-
dans la branche de développement, effectuer les tâches suivantes :
-
mettre à jour les traductions :
-
lancer la commande suivante pour mettre à jour les fichiers
i18n\*.ts
:pylupdate5 -noobsolete -verbose isogeo_search_engine.pro
-
ouvrir le fichier
i18n\isogeo_search_engine_fr.ts
dans Qt Linguist et faire les modifications nécessaires avant d'enregistrer le fichier. -
lancer la commande suivante (dans l'environnement virtuel) pour compiler le fichier
i18n\isogeo_search_engine_fr.ts
et mettre à jour le fichieri18n\isogeo_search_engine_fr.qm
qt5-tools lrelease .\i18n\isogeo_search_engine_fr.ts
-
-
compiler les ressources graphiques :
pyrcc5 resources.qrc -o resources_rc.py
-
vérifier que le code est nettoyé des logs de dev
-
formater le code avec
black
en utilisant les commandes suivantes :python -m black --target-version=py39 --line-length 120 .\isogeo.py
python -m black --target-version=py39 --line-length 120 .\modules
python -m black --target-version=py39 --line-length 120 .\ui
-
corriger les erreurs indiquées par l'analyse statique (voir report dans la pipeline)
-
-
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 dans
master
si nécessaire -
si la branche merge s’appelait
version
, il faudra la supprimer en local avant de push le tag qu'on appellera égalementversion
-
basculer dans
master
pour modifier le fichierversion.json
-
toujours dans
master
modifier le fichiermetadata.txt
pour :- indiquer la nouvelle version
- mettre à jour le changelog
- mettre à jour le flag
experimental
si nécessaire
-
nommer le commit de modification du fichier
metadata.txt
"bumb version to version" -
taguer le commit "bump version to version" de l'étape précédente
Commande exemple dans un terminal git, où
<HASH>
est le hash du commit et<VERSION>
est le nom du tag :git tag -a <VERSION> <HASH> git push origin <VERSION>
- récupérer dans la pipeline Azure DevOps la version packagée lors du run déclenché suite au push du tag dans
master
, il s'agit de l'archiveisogeo_search_engine.zip
présente dans l'artifact "PACKAGED_version_..." - 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.
Placer le zip utilisé pendant la mise en prod dans le dossier OneDrive "C:\Users<USERNAME>\ISOGEO\Development - Documents\Extensions (Dossier Produit)\QGIS\version".
Isogeo© - Isogeo plugin for QGIS - wiki