gplugin/gplugin

Migrate to gi-docgen

2021-08-30, Gary Kramlich
f402012569a8
Migrate to gi-docgen

gi-docgen is apparently the future and it works much faster with no extra work like updating `gplugin-docs.xml` that gtk-doc required.

However, there are a few additional python dependencies for gi-docgen, notably `python3-jinja2`, `python3-pygments`, `python3-toml`, `python3-typogrify`. I'm in the process of updating the builders right now as the docs build by default now.

Testing Done:
Ran locally and via the new convey plan.

Reviewed at https://reviews.imfreedom.org/r/905/
environment:
- PACKAGECLOUD_REPO=experimental
- ARCH=amd64
- BUILD_NUMBER
- REPOSITORY=gplugin/builders
- REGISTRY=docker.io
- REGISTRY_USERNAME
- REGISTRY_PASSWORD
- DOCS_BUILD_IMAGE=${REGISTRY}/${REPOSITORY}:debian-bullseye-amd64
- DOCS_VERSION=latest
tasks:
clean:
type: convey/clean
files:
- alpine-edge-amd64
- debian-bullseye-amd64
- debian-bullseye-arm64
- debian-bullseye-armhf
- dist
- elementary-juno-amd64
- fedora-31-amd64
- fedora-32-amd64
- fedora-33-amd64
- fedora-rawhide-amd64
- gplugin-docs
- gplugin-gtk-docs
- i18n
- mingw-w64-i686
- mingw-w64-x86_64
- opensuse-tumbleweed-amd64
- pvs-studio
- scanbuild
- ubuntu-focal-amd64
- ubuntu-groovy-amd64
- valgrind
import:
type: docker/import
files: .:.
import-artifacts:
type: docker/import
files: ${DISTRO}-${VERSION}-${ARCH}
build:
type: docker/run
image: ${REGISTRY}/${REPOSITORY}:${DISTRO}-${VERSION}-${ARCH}
export:
type: docker/export
files: ${DISTRO}-${VERSION}-${ARCH}
build-target:
type: docker/run
image: ${REGISTRY}/${REPOSITORY}:${TARGET}
export-target:
type: docker/export
files: ${TARGET}
login:
type: docker/login
server: ${REGISTRY}
username: ${REGISTRY_USERNAME}
password: ${REGISTRY_PASSWORD}
logout:
type: docker/logout
server: ${REGISTRY}
docs-clean:
type: convey/clean
files:
- gplugin-docs
- gplugin-gtk-docs
docs-build:
type: docker/run
image: ${DOCS_BUILD_IMAGE}
workdir: ${CONVEY_WORKSPACE}
script:
- set -ex
- meson build-docs
- ninja -C build-docs doc
docs-export:
type: docker/export
files:
- build-docs/gplugin/reference/gplugin:gplugin-docs
- build-docs/gplugin-gtk/reference/gplugin-gtk:gplugin-gtk-docs
package-cloud:
type: docker/run
image: rwgrim/package_cloud:latest
environment:
- PACKAGECLOUD_TOKEN
command: push --yes --verbose pidgin/${PACKAGECLOUD_REPO}/${DISTRO}/${VERSION} ${PATTERN}
workdir: ${CONVEY_WORKSPACE}/${DISTRO}-${VERSION}-${ARCH}
publish-deb:
type: convey/extend
task: package-cloud
environment: [PATTERN=*.deb]
publish-debsrc:
type: convey/extend
task: package-cloud
environment: [PATTERN=*.dsc]
publish-rpm:
type: convey/extend
task: package-cloud
environment: [PATTERN=x86_64/*.rpm]
plans:
clean:
stages:
- tasks: clean
alpine-edge-amd64:
environment: [DISTRO=alpine, VERSION=edge]
stages:
- tasks: [import, build, export]
clang-format:
environment: [TARGET=clang-format]
stages:
- tasks: [import, build-target]
debian-bullseye-amd64:
environment: [DISTRO=debian, VERSION=bullseye]
stages:
- tasks: [import, build, export]
debian-bullseye-arm64:
environment: [DISTRO=debian, VERSION=bullseye, ARCH=arm64]
stages:
- tasks: [import, build, export]
debian-bullseye-armhf:
environment: [DISTRO=debian, VERSION=bullseye, ARCH=armhf]
stages:
- tasks: [import, build, export]
dist:
environment: [TARGET=dist]
stages:
- tasks: [import, build-target, export-target]
docs:
stages:
- tasks: [docs-clean, import, docs-build, docs-export]
elementary-juno-amd64:
environment: [DISTRO=elementary, VERSION=juno]
stages:
- tasks: [import, build, export]
fedora-31-amd64:
environment: [DISTRO=fedora, VERSION=31]
stages:
- tasks: [import, build, export]
fedora-32-amd64:
environment: [DISTRO=fedora, VERSION=32]
stages:
- tasks: [import, build, export]
fedora-33-amd64:
environment: [DISTRO=fedora, VERSION=33]
stages:
- tasks: [import, build, export]
fedora-rawhide-amd64:
environment: [DISTRO=fedora, VERSION=rawhide]
stages:
- tasks: [import, build, export]
i18n:
environment: [TARGET=i18n]
stages:
- tasks: [import, build-target, export-target]
mingw-w64-i686:
environment: [DISTRO=mingw, VERSION=w64, ARCH=i686, PKGBUILD_DIR=mingw-cross]
stages:
- tasks: [import, build, export]
mingw-w64-x86_64:
environment: [DISTRO=mingw, VERSION=w64, ARCH=x86_64, PKGBUILD_DIR=mingw-cross]
stages:
- tasks: [import, build, export]
opensuse-tumbleweed-amd64:
environment: [DISTRO=opensuse, VERSION=tumbleweed]
stages:
- tasks: [import, build, export]
pvs-studio:
environment:
- TARGET=pvs-studio
- PVS_STUDIO_USERNAME
- PVS_STUDIO_KEY
- PVS_IGNORED_CODES=V568
stages:
- tasks: [import, build-target]
- tasks: [export-target]
run: always
scanbuild:
environment: [TARGET=scanbuild]
stages:
- tasks: [import, build-target]
- tasks: [export-target]
run: always
simple:
environment: [TARGET=simple]
stages:
- tasks: [import, build-target]
ubuntu-focal-amd64:
environment: [DISTRO=ubuntu, VERSION=focal]
stages:
- tasks: [import, build, export]
ubuntu-groovy-amd64:
environment: [DISTRO=ubuntu, VERSION=groovy]
stages:
- tasks: [import, build, export]
valgrind:
environment: [TARGET=valgrind]
stages:
- tasks: [import, build-target]
- tasks: [export-target]
run: always
publish:
stages:
- environment:
- DISTRO=elementary
- VERSION=juno
tasks: [import-artifacts, publish-deb, publish-debsrc]
- environment:
- DISTRO=fedora
- VERSION=29
tasks: [import-artifacts, publish-rpm]
- environment:
- DISTRO=fedora
- VERSION=30
tasks: [import-artifacts, publish-rpm]
- environment:
- DISTRO=ubuntu
- VERSION=focal
tasks: [import-artifacts, publish-deb, publish-debsrc]
meta-plans:
all:
plans:
- alpine-edge-amd64
- debian-bullseye-amd64
- dist
- fedora-31-amd64
- fedora-32-amd64
- fedora-33-amd64
- fedora-rawhide-amd64
- mingw-w64-i686
- mingw-w64-x86_64
- opensuse-tumbleweed-amd64
- ubuntu-focal-amd64
- ubuntu-groovy-amd64
tools:
plans:
- clang-format
- i18n
- pvs-studio
- scanbuild
- valgrind
- simple
qemu-user-static:
plans:
- debian-bullseye-arm64
- debian-bullseye-armhf