gplugin/builders

Add a docs image and clean up the dist and scanbuild targets
environment:
- ARCH=amd64
- REPO=gplugin/builders
tasks:
import:
type: docker/import
files:
- .:.
clean:
type: docker/remove
quiet: true
images:
- ${REPO}:alpine-edge-amd64
- ${REPO}:coverity
- ${REPO}:debian-stretch-amd64
- ${REPO}:debian-buster-amd64
- ${REPO}:fedora-28-amd64
- ${REPO}:fedora-29-amd64
- ${REPO}:opensuse-tumbleweed-amd64
- ${REPO}:ubuntu-bionic-amd64
build:
type: docker/build
dockerfile: Dockerfile.${DISTRO}-${VERSION}-${ARCH}
tag: ${REPO}:${DISTRO}-${VERSION}-${ARCH}
files:
- ${FILES}
labels:
- COMMIT=${HG_COMMIT}
login:
type: docker/login
server: docker.io
username: ${DOCKERHUB_USERNAME}
password: ${DOCKERHUB_PASSWORD}
publish:
type: docker/push
image: ${REPO}:${DISTRO}-${VERSION}-${ARCH}
pvs-studio:
type: docker/build
dockerfile: Dockerfile.pvs-studio
tag: ${REPO}:pvs-studio
files: pvs-studio
pvs-studio-push:
type: docker/push
image: ${REPO}:pvs-studio
simple-build:
type: docker/build
dockerfile: Dockerfile.${TARGET}
tags: ${REPO}:${TARGET}
files:
- ${FILES}
labels:
- COMMIT=${HG_COMMIT}
simple-push:
type: docker/push
image: ${REPO}:${TARGET}
# stuff after this needs work yet
coverity:
type: docker/build
dockerfile: Dockerfile.coverity
tag: ${REPO}:coverity
files:
- coverity
mingw-w64-i686:
type: docker/build
dockerfile: Dockerfile.mingw-w64-i686
tag: ${REPO}:mingw-w64-i686
files:
- mingw
mingw-w64-x86_64:
type: docker/build
dockerfile: Dockerfile.mingw-w64-x86_64
tag: ${REPO}:mingw-w64-x86_64
files:
- mingw
osxcross-10.8-x86_64:
type: docker/build
dockerfile: Dockerfile.osxcross-10.8-x86_64
tag: ${REPO}:osxcross-10.8-x86_64
files:
- osx
plans:
clean:
stages:
- tasks: [clean]
generic-build:
stages:
- tasks: [import, build]
generic-publish:
environment: [DOCKERHUB_USERNAME, DOCKERHUB_PASSWORD]
stages:
- tasks: [login, publish]
alpine-edge-amd64:
environment: [DISTRO=alpine, VERSION=edge, FILES=alpine]
stages:
- tasks: [import, build]
debian-stretch-amd64:
environment: [DISTRO=debian, VERSION=stretch, FILES=debian]
stages:
- tasks: [import, build]
debian-buster-amd64:
environment: [DISTRO=debian, VERSION=buster, FILES=debian]
stages:
- tasks: [import, build]
dist:
environment: [TARGET=dist, FILES=dist]
stages:
- tasks: [import, simple-build]
dist-publish:
environment: [DOCKERHUB_USERNAME, DOCKERHUB_PASSWORD, TARGET=dist]
stages:
- tasks: [login, simple-push]
docs:
environment: [TARGET=docs, FILES=docs]
stages:
- tasks: [import, simple-build]
docs-publish:
environment: [DOCKERHUB_USERNAME, DOCKERHUB_PASSWORD, TARGET=docs]
stages:
- tasks: [login, simple-push]
fedora-28-amd64:
environment: [DISTRO=fedora, VERSION=28, FILES=rpm]
stages:
- tasks: [import, build]
fedora-29-amd64:
environment: [DISTRO=fedora, VERSION=29, FILES=rpm]
stages:
- tasks: [import, build]
mingw-w64-i686:
environment: [DISTRO=mingw, VERSION=w64, ARCH=i686, FILES=mingw]
stages:
- tasks: [import, build]
opensuse-tumbleweed-amd64:
environment: [DISTRO=opensuse, VERSION=tumbleweed, FILES=rpm]
stages:
- tasks: [import, build]
pvs-studio:
stages:
- tasks: [import, pvs-studio]
pvs-studio-publish:
environment: [dockerhub_username, dockerhub_password]
stages:
- tasks: [login, pvs-studio-push]
scanbuild:
environment: [TARGET=scanbuild, FILES=scanbuild]
stages:
- tasks: [import, simple-build]
scanbuild-publish:
environment: [DOCKERHUB_USERNAME, DOCKERHUB_PASSWORD, TARGET=scanbuild]
stages:
- tasks: [login, simple-push]
ubuntu-bionic-amd64:
environment: [DISTRO=ubuntu, VERSION=bionic, FILES=debian]
stages:
- tasks: [import, build]
# stuff after this needs cleanup...
coverity:
stages:
- name: import
tasks:
- import
- name: build
tasks:
- coverity
osx:
stages:
- name: import
tasks:
- import
- name: build
tasks:
- osxcross-10.8-x86_64
windows:
stages:
- name: import
tasks:
- import
- name: build
tasks:
- mingw-w64-i686
- mingw-w64-x86_64
meta-plans:
alpine:
plans: [alpine-edge-amd64]
debian:
plans: [debian-stretch-amd64, debian-buster-amd64]
fedora:
plans: [fedora-28-amd64, fedora-29-amd64]
opensuse:
plans: [opensuse-tumbleweed-amd64]
ubuntu:
plans: [ubuntu-bionic-amd64]
default:
plans:
- alpine-edge-amd64
- debian-stretch-amd64
- debian-buster-amd64
- dist
- docs
- fedora-28-amd64
- fedora-29-amd64
- opensuse-tumbleweed-amd64
- scanbuild
- ubuntu-bionic-amd64