QGIS Plugin CI - Documentation#

Description: Let qgis-plugin-ci package and release your QGIS plugins for you. Have a tea or go hiking meanwhile. Contains scripts to perform automated testing and deployment for QGIS plugins. These scripts are written for and tested on GitHub Actions, GitLab CI, Travis-CI, and Transifex.
Author and contributors: Denis Rouzaud, Etienne Trimaille, Julien Moura
Version: 2.8.8
Source code: https://opengisch.github.io/qgis-plugin-ci/
Last documentation build: 23 February 2024

PyPi version badge PyPI - Downloads PyPI - Python Version

Code style: black Imports: isort pre-commit pre-commit.ci status

Installation#

Package is available on PyPi:

pip install qgis-plugin-ci

Use in CI/CD platforms


Plugins published using qgis-plugin-ci#

Render GeoJSON (server)

  • deployment on GitHub Releases and plugin repository

  • works on GitHub workflows

  • barebone implementation, no bells and whistles

Lizmap

  • using a setup.cfg file

  • metadata populated automatically from CHANGELOG.md file

  • GitHub release created automatically from Travis

  • released on official repository

  • translations are committed from Travis to the repository after the release process

  • GitLab-CI with Docker is used as well

GeoMapFish Locator

  • translated on Transifex

  • released on official repo

VeriVD

  • released on custom repo as GitHub release

pgMetadata

  • Released using GitHub Actions and Transifex

QTribu

  • GitHub Actions

  • using a setup.cfg file

  • Used to on custom plugins repository as GitHub release

Land Survey Codes Import

  • Release using GitLab CI

  • Local translations

  • using a setup.cfg file

French Locator Filter

  • Release using GitLab CI

  • Local translations (no transifex)

  • Configured using a setup.cfg file

  • Both deployed on custom repository on GitLab Pages (on master) on official repository (on git tag)

Thyrsis

  • Packaged and release using GitLab CI

  • Embed some built external dependencies

  • Local translations (no transifex)

  • Configured using a setup.cfg file

  • Both deployed on custom repository on GitLab Pages (on master) on official repository (on git tag)