gplugin/gplugin

71f0a1891d24
Add a convey plan to build the docs and export them.

Also remove the old container images for the docs as the static pages will be pulled in via another CI task to build the whole site.

Testing Done:
Ran the plan locally a bunch.

Reviewed at https://reviews.imfreedom.org/r/904/
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/html:gplugin-docs
- build-docs/gplugin-gtk/reference/html: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