Skip to content
SimonSAMPERE edited this page Jan 28, 2020 · 37 revisions

Build and deploy

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 (via plugin_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

Deploy

Chaque commit publié sur master et étiqueté (tagged), 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.

Packager

  1. merge les PR correspondantes à la nouvelle version dans master

  2. mettre à jour la branche releasing depuis master :

git merge master
  1. dans la branche releasing, 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
  1. coller cette check-list dans la PR de releasing vers master

  2. récupérer le résultat de Packaging et tester l'installation via le zip, corriger si nécessaire

  3. merge la PR de releasing vers master (si possible en mode squash) en la nommant "pre-release version"

  4. basculer dans master et taguer le commit correspondant au merge de la PR "pre-release version"

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
  1. récupérer dans le CI la version packagée du commit tagué

Publier

  1. se connecter avec le compte Isogeo sur le dépôt en ligne des plugins QGIS Python
  2. se rendre dans le dépôt du plugin Isogeo
  3. Manage > Add version > indiquer l'emplacement du zip packagé (récupéré pendant la dernière étape du packaging)
  4. cocher la case "Experimental flag" s'il s'agit d'une beta
  5. mettre le lien vers la release correspondante dans le changelog
  6. cliquer sur save

Attendre la confirmation par mail.

Clone this wiki locally