talkatu/talkatu

Parents e778e5866097
Children 803afd860d6f
Add a convey plan to statically build the docs and other convey clean ups

Testing Done:
Ran the docs plan

Reviewed at https://reviews.imfreedom.org/r/1023/
  • +27 -152
    convey.yml
  • --- a/convey.yml Sun Oct 10 00:28:54 2021 -0500
    +++ b/convey.yml Mon Oct 11 21:22:46 2021 -0500
    @@ -1,25 +1,14 @@
    environment:
    - - ARCH=amd64
    - BUILD_NUMBER
    - - DOCS_VERSION=latest
    - - PACKAGECLOUD_REPO=pidgin/experimental
    - REGISTRY_HOST=docker.io
    - - REPOSITORY=talkatu/builders
    + - REPOSITORY=docker.io/talkatu/builders
    + - DOCS_BUILD_IMAGE=docker.io/talkatu/builders:debian-bullseye-amd64
    tasks:
    import:
    type: docker/import
    files: .:.
    - login:
    - type: docker/login
    - server: ${REGISTRY_HOST}
    - username: ${REGISTRY_USERNAME}
    - password: ${REGISTRY_PASSWORD}
    - logout:
    - type: docker/logout
    - server: ${REGISTRY_HOST}
    -
    clean:
    type: convey/clean
    files:
    @@ -30,193 +19,79 @@
    - fedora-32-amd64
    - fedora-33-amd64
    - fedora-rawhide-amd64
    - - mingw-w64-i686
    - - mingw-w64-x86_64
    - - pvs-studio
    - scanbuild
    - valgrind
    + - talkatu-docs
    build:
    type: docker/run
    - image: ${REGISTRY_HOST}/${REPOSITORY}:${DISTRO}-${VERSION}-${ARCH}
    + image: ${REGISTRY_HOST}/${REPOSITORY}:${TARGET}
    export:
    type: docker/export
    - files: ${DISTRO}-${VERSION}-${ARCH}
    -
    - build-target:
    - type: docker/run
    - image: ${REGISTRY_HOST}/${REPOSITORY}:${TARGET}
    -
    - export-target:
    - type: docker/export
    files: ${TARGET}
    + docs-clean:
    + type: convey/clean
    + files: talkatu-docs
    docs-build:
    type: docker/run
    - image: talkatu/builders:debian-buster-amd64
    + image: ${DOCS_BUILD_IMAGE}
    + workdir: ${CONVEY_WORKSPACE}
    script:
    - - cd ${CONVEY_WORKSPACE}
    + - set -ex
    - meson build-docs
    - ninja -C build-docs talkatu-doc
    - docs-build-image:
    - type: docker/build
    - dockerfile: talkatu/reference/Dockerfile
    - tag: talkatu/docs:${DOCS_VERSION}
    - files:
    - - build-docs/talkatu/reference/html:.
    - docs-publish-image:
    - type: docker/push
    - image: talkatu/docs:${DOCS_VERSION}
    -
    - package-cloud:
    - type: docker/run
    - image: rwgrim/package_cloud:latest
    - environment: [PACKAGECLOUD_TOKEN]
    - command: push --yes --verbose ${PACKAGECLOUD_REPO}/${DISTRO}/${VERSION} ${PATTERN}
    - workdir: ${CONVEY_WORKSPACE}/${DISTRO}-${VERSION}-${ARCH}
    -
    - publish-deb:
    - type: convey/extend
    - task: package-cloud
    - environment:
    - - PATTERN=debs/*.deb
    -
    - publish-debsrc:
    - type: convey/extend
    - task: package-cloud
    - environment:
    - - PATTERN=debs/*.dsc
    -
    - publish-rpm:
    - type: convey/extend
    - task: package-cloud
    - environment:
    - - PATTERN=x86_64/*.rpm
    -
    - import-artifacts:
    - type: docker/import
    - files:
    - - ${DISTRO}-${VERSION}-${ARCH}
    + docs-export:
    + type: docker/export
    + files: build-docs/talkatu/reference/html:talkatu-docs
    plans:
    debian-bullseye-amd64:
    - environment: [DISTRO=debian, VERSION=bullseye]
    + environment: TARGET=debian-bullseye-amd64
    stages:
    - tasks: [import, build, export]
    debian-buster-amd64:
    - environment: [DISTRO=debian, VERSION=buster]
    + environment: TARGET=debian-buster-amd64
    stages:
    - tasks: [import, build, export]
    debian-buster-i386:
    - environment: [DISTRO=debian, VERSION=buster, ARCH=i386]
    + environment: TARGET=debian-buster-i386
    stages:
    - tasks: [import, build, export]
    docs:
    stages:
    - - tasks:
    - - import
    - - docs-build
    - - docs-build-image
    -
    - ci-docs:
    - stages:
    - - name: prep
    - tasks:
    - - login
    - - name: build
    - tasks:
    - - import
    - - docs-build
    - - docs-build-image
    - - docs-publish-image
    - - name: final
    - run: always
    - tasks:
    - - logout
    + - tasks: [docs-clean, import, docs-build, docs-export]
    fedora-31-amd64:
    - environment: [DISTRO=fedora, VERSION=31]
    + environment: TARGET=fedora-31-amd64
    stages:
    - tasks: [import, build, export]
    fedora-32-amd64:
    - environment: [DISTRO=fedora, VERSION=32]
    + environment: TARGET=fedora-32-amd64
    stages:
    - tasks: [import, build, export]
    fedora-33-amd64:
    - environment: [DISTRO=fedora, VERSION=33]
    + environment: TARGET=fedora-33-amd64
    stages:
    - tasks: [import, build, export]
    fedora-rawhide-amd64:
    - environment: [DISTRO=fedora, VERSION=rawhide]
    - stages:
    - - tasks: [import, build, export]
    -
    - mingw-w64-i686:
    - environment: [DISTRO=mingw, VERSION=w64, ARCH=i686, FILES=mingw]
    - stages:
    - - tasks: [import, build, export]
    - mingw-w64-x86_64:
    - environment: [DISTRO=mingw, VERSION=w64, ARCH=x86_64, FILES=mingw]
    + environment: TARGET=fedora-rawhide-amd64
    stages:
    - tasks: [import, build, export]
    - pvs-studio:
    - environment:
    - - TARGET=pvs-studio
    - - PVS_STUDIO_USERNAME
    - - PVS_STUDIO_KEY
    - - PVS_IGNORED_CODES=V568
    + scanbuild:
    + environment: TARGET=scanbuild
    stages:
    - - tasks: [import, build-target]
    - - tasks: [export-target]
    - run: always
    -
    - scanbuild:
    - environment: [TARGET=scanbuild]
    - stages:
    - - tasks: [import, build-target]
    - - tasks: [export-target]
    + - tasks: [import, build]
    + - tasks: [export]
    run: always
    valgrind:
    - environment: [TARGET=valgrind]
    - stages:
    - - tasks: [import, build-target, export-target]
    -
    - publish:
    + environment: TARGET=valgrind
    stages:
    - - name: publish-debian
    - environment:
    - - DISTRO=debian
    - - VERSION=buster
    - tasks:
    - - import-artifacts
    - - publish-deb
    - - publish-debsrc
    -
    - - name: publish-fedora-29
    - environment:
    - - DISTRO=fedora
    - - VERSION=29
    - tasks:
    - - import-artifacts
    - - publish-rpm
    - - name: publish-fedora-30
    - environment:
    - - DISTRO=fedora
    - - VERSION=30
    - tasks:
    - - import-artifacts
    - - publish-rpm
    - - name: publish-fedora-31
    - environment:
    - - DISTRO=fedora
    - - VERSION=31
    - tasks:
    - - import-artifacts
    - - publish-rpm
    + - tasks: [import, build, export]
    clean:
    stages: