Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Let it package and release your QGIS plugin and do something funnier instead!

License

NotificationsYou must be signed in to change notification settings

opengisch/qgis-plugin-ci

PyPi version badgePyPI - DownloadsPyPI - Python Version

Ruffpre-commitpre-commit.ci status

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, thei18n folder can be omitted from the Git repository
  • changelog section in the metadata.txt can be populated if the CHANGELOG.md is present
  • set theexperimental flag according to the tag if needed

📖 For further information, seethe documentation.

QGIS-Plugin-CI is best served if you use these two conventions :

Command line

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

Requirements

  • 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 ametadata.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.

QRC and UI files

  • Any .qrc file in the source top directory (plugin_path) will be compiled and output as filename_rc.py. You can then import it usingimport plugin_path.resources_rc
  • Currently, qgis-plugin-ci does not compile any .ui file.

Publishing plugins

When releasing, you can publish the plugin :

  1. In the official QGIS plugin repository. You need to provide user name and password for your Osgeo account.
  2. 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.

Pre-release and experimental

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

Debug

In any Python module, you can have a global variable asDEBUG = True, which will be changed toFalse when packaging the plugin.

Other tools

QGIS-Plugin-Repo

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

Stars

Watchers

Forks

Sponsor this project

 

Languages


[8]ページ先頭

©2009-2025 Movatter.jp