Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork19
Let it package and release your QGIS plugin and do something funnier instead!
License
opengisch/qgis-plugin-ci
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Contains scripts to perform automated testing and deployment for QGIS plugins.These scripts are written for and tested on GitHub, Travis-CI, github workflows and Transifex.
- Deploy plugin releases on QGIS official plugin repository
- Publish plugin in Github releases, option to deploy a custom repository
- Easily integrated in Travis-CI or github workflows
- Completely handle translations with Transifex:
- create the project and the languages
- pull and push translations
- all TS/QM files can be managed on the CI, the
i18n
folder can be omitted from the Git repository
changelog
section in the metadata.txt can be populated if the CHANGELOG.md is present- set the
experimental
flag according to the tag if needed
📖 For further information, seethe documentation.
QGIS-Plugin-CI is best served if you use these two conventions :
usage: qgis-plugin-ci [-h] [-v] {package,changelog,release,pull-translation,push-translation} ...optional arguments: -h, --help show this help message and exit -v, --version print the version and exitcommands: qgis-plugin-ci command {package,changelog,release,pull-translation,push-translation} package creates an archive of the plugin changelog gets the changelog content release release the plugin pull-translation pull translations from Transifex push-translation update strings and push translations
- The code is under agit repository (
git archive
is used to bundle the plugin). - There is no uncommitted changes when doing a package/release (althought there is an option to bypass this requirement).
- A configuration at the top directory either in
.qgis-plugin-ci
or insetup.cfg
orpyproject.toml
with a[qgis-plugin-ci]
section (seedocs/configuration/options.md
for details). - The source files of the plugin are within a sub-directory with a
metadata.txt
file with the following fields:- description
- qgisMinimumVersion
- repository
- tracker
Seeparameters.py
for more parameters and details. Notice that the name of this directory will be used for the zip file.
- Any .qrc file in the source top directory (plugin_path) will be compiled and output as filename_rc.py. You can then import it using
import plugin_path.resources_rc
- Currently, qgis-plugin-ci does not compile any .ui file.
When releasing, you can publish the plugin :
- In the official QGIS plugin repository. You need to provide user name and password for your Osgeo account.
- As a custom repository in Github releases and which can be added later in QGIS. The address will be:https://github.com/__ORG__/__REPO__/releases/latest/download/plugins.xml
Both can be achieved in the same process.
In the case of a pre-release (either from the tag name according toSemantic Versioning or from the GitHub release), the plugin will be flagged as experimental.
The tool will recognise any label use as a suffix to flag it as pre-release :
10.1.0-beta1
3.4.0-rc.2
In any Python module, you can have a global variable asDEBUG = True
, which will be changed toFalse
when packaging the plugin.
QGIS-Plugin-CI can generate theplugins.xml
file, per plugin.If you want to merge many XML files into one to have a single QGIS plugin repository providing many plugins,you should checkQGIS-Plugin-Repo.It's designed to run on CI after QGIS-Plugin-CI.
About
Let it package and release your QGIS plugin and do something funnier instead!
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.