talos/.drone.yml
Andrey Smirnov 2d5c6f4c10 test: serialize docs step execution
`make docs` removes and then regenerates contents of some docs, so it
might cause random `-dirty` issue when running concurrently with build
steps.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-04-07 23:46:16 +03:00

3995 lines
71 KiB
YAML

---
kind: secret
name: kubeconfig
get:
path: buildx
name: kubeconfig
---
kind: pipeline
name: default
platform:
os: linux
arch: amd64
steps:
- name: ok-to-test
image: autonomy/build-container:latest
commands:
- curl --request GET "https://api.github.com/repos/$DRONE_REPO/issues/$DRONE_PULL_REQUEST" | jq -e '.labels[]|select(.name == "ok-to-test")'
when:
event:
- pull_request
- name: setup-ci
image: autonomy/build-container:latest
commands:
- git fetch --tags
- apk add coreutils
- echo -e "$BUILDX_KUBECONFIG" > /root/.kube/config
- docker buildx create --driver kubernetes --driver-opt replicas=2 --driver-opt namespace=ci --driver-opt image=moby/buildkit:v0.6.2 --name ci --buildkitd-flags="--allow-insecure-entitlement security.insecure" --use
- docker buildx inspect --bootstrap
- make ./_out/sonobuoy
- make ./_out/kubectl
environment:
BUILDX_KUBECONFIG:
from_secret: kubeconfig
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
- name: docs
pull: always
image: autonomy/build-container:latest
commands:
- make docs
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- setup-ci
- name: generate
pull: always
image: autonomy/build-container:latest
commands:
- make generate
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- setup-ci
- name: check-dirty
pull: always
image: autonomy/build-container:latest
commands:
- make check-dirty
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- docs
- generate
- name: talosctl-linux
pull: always
image: autonomy/build-container:latest
commands:
- make talosctl-linux
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: talosctl-darwin
pull: always
image: autonomy/build-container:latest
commands:
- make talosctl-darwin
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: kernel
pull: always
image: autonomy/build-container:latest
commands:
- make kernel
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: initramfs
pull: always
image: autonomy/build-container:latest
commands:
- make initramfs
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: installer
pull: always
image: autonomy/build-container:latest
commands:
- make installer
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: installer-local
pull: always
image: autonomy/build-container:latest
commands:
- make installer
environment:
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: talos
pull: always
image: autonomy/build-container:latest
commands:
- make talos
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: talos-local
pull: always
image: autonomy/build-container:latest
commands:
- make talos
environment:
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- talos
- name: lint-go
pull: always
image: autonomy/build-container:latest
commands:
- make lint-go
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: lint-markdown
pull: always
image: autonomy/build-container:latest
commands:
- make lint-markdown
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: lint-protobuf
pull: always
image: autonomy/build-container:latest
commands:
- make lint-protobuf
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: image-aws
pull: always
image: autonomy/build-container:latest
commands:
- make image-aws
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-azure
pull: always
image: autonomy/build-container:latest
commands:
- make image-azure
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-digital-ocean
pull: always
image: autonomy/build-container:latest
commands:
- make image-digital-ocean
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-gcp
pull: always
image: autonomy/build-container:latest
commands:
- make image-gcp
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-vmware
pull: always
image: autonomy/build-container:latest
commands:
- make image-vmware
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: unit-tests
pull: always
image: autonomy/build-container:latest
commands:
- make unit-tests
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: unit-tests-race
pull: always
image: autonomy/build-container:latest
commands:
- make unit-tests-race
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- lint-go
- name: coverage
image: alpine:3.10
commands:
- apk --no-cache add bash curl git
- bash -c "bash <(curl -s https://codecov.io/bash) -f _out/coverage.txt -X fix"
environment:
CODECOV_TOKEN:
from_secret: codecov_token
when:
event:
- pull_request
depends_on:
- unit-tests
- name: push-local
pull: always
image: autonomy/build-container:latest
commands:
- make push
environment:
DOCKER_LOGIN_ENABLED: false
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer-local
- talos-local
- name: e2e-docker
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-docker
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- talos
- talosctl-linux
- name: e2e-firecracker
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-firecracker
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- talosctl-linux
- kernel
- push-local
- name: provision-tests-prepare
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-prepare
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- talosctl-linux
- kernel
- push-local
- name: provision-tests-track-0
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-track-0
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- provision-tests-prepare
- name: provision-tests-track-1
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-track-1
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- provision-tests-prepare
- name: push
pull: always
image: autonomy/build-container:latest
commands:
- make push
environment:
DOCKER_PASSWORD:
from_secret: docker_password
DOCKER_USERNAME:
from_secret: docker_username
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
when:
event:
exclude:
- pull_request
- promote
- cron
depends_on:
- e2e-docker
- e2e-firecracker
- name: push-latest
pull: always
image: autonomy/build-container:latest
commands:
- make push-latest
environment:
DOCKER_PASSWORD:
from_secret: docker_password
DOCKER_USERNAME:
from_secret: docker_username
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
when:
branch:
- master
event:
- push
depends_on:
- e2e-docker
- e2e-firecracker
services:
- name: docker
image: docker:19.03-dind
entrypoint:
- dockerd
command:
- --dns=8.8.8.8
- --dns=8.8.4.4
- --mtu=1500
- --log-level=error
- --insecure-registry=registry.ci.svc:5000
privileged: true
ports:
- 6443
- 50000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
volumes:
- name: dockersock
temp: {}
- name: docker
temp: {}
- name: kube
temp: {}
- name: dev
host:
path: /dev
- name: tmp
temp: {}
node:
node-role.kubernetes.io/ci: ""
trigger:
cron:
exclude:
- nightly
event:
exclude:
- tag
- promote
---
kind: pipeline
name: e2e
platform:
os: linux
arch: amd64
steps:
- name: setup-ci
image: autonomy/build-container:latest
commands:
- git fetch --tags
- apk add coreutils
- echo -e "$BUILDX_KUBECONFIG" > /root/.kube/config
- docker buildx create --driver kubernetes --driver-opt replicas=2 --driver-opt namespace=ci --driver-opt image=moby/buildkit:v0.6.2 --name ci --buildkitd-flags="--allow-insecure-entitlement security.insecure" --use
- docker buildx inspect --bootstrap
- make ./_out/sonobuoy
- make ./_out/kubectl
environment:
BUILDX_KUBECONFIG:
from_secret: kubeconfig
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
- name: docs
pull: always
image: autonomy/build-container:latest
commands:
- make docs
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- setup-ci
- name: generate
pull: always
image: autonomy/build-container:latest
commands:
- make generate
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- setup-ci
- name: check-dirty
pull: always
image: autonomy/build-container:latest
commands:
- make check-dirty
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- docs
- generate
- name: talosctl-linux
pull: always
image: autonomy/build-container:latest
commands:
- make talosctl-linux
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: talosctl-darwin
pull: always
image: autonomy/build-container:latest
commands:
- make talosctl-darwin
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: kernel
pull: always
image: autonomy/build-container:latest
commands:
- make kernel
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: initramfs
pull: always
image: autonomy/build-container:latest
commands:
- make initramfs
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: installer
pull: always
image: autonomy/build-container:latest
commands:
- make installer
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: installer-local
pull: always
image: autonomy/build-container:latest
commands:
- make installer
environment:
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: talos
pull: always
image: autonomy/build-container:latest
commands:
- make talos
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: talos-local
pull: always
image: autonomy/build-container:latest
commands:
- make talos
environment:
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- talos
- name: lint-go
pull: always
image: autonomy/build-container:latest
commands:
- make lint-go
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: lint-markdown
pull: always
image: autonomy/build-container:latest
commands:
- make lint-markdown
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: lint-protobuf
pull: always
image: autonomy/build-container:latest
commands:
- make lint-protobuf
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: image-aws
pull: always
image: autonomy/build-container:latest
commands:
- make image-aws
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-azure
pull: always
image: autonomy/build-container:latest
commands:
- make image-azure
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-digital-ocean
pull: always
image: autonomy/build-container:latest
commands:
- make image-digital-ocean
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-gcp
pull: always
image: autonomy/build-container:latest
commands:
- make image-gcp
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-vmware
pull: always
image: autonomy/build-container:latest
commands:
- make image-vmware
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: unit-tests
pull: always
image: autonomy/build-container:latest
commands:
- make unit-tests
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: unit-tests-race
pull: always
image: autonomy/build-container:latest
commands:
- make unit-tests-race
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- lint-go
- name: coverage
image: alpine:3.10
commands:
- apk --no-cache add bash curl git
- bash -c "bash <(curl -s https://codecov.io/bash) -f _out/coverage.txt -X fix"
environment:
CODECOV_TOKEN:
from_secret: codecov_token
when:
event:
- pull_request
depends_on:
- unit-tests
- name: push-local
pull: always
image: autonomy/build-container:latest
commands:
- make push
environment:
DOCKER_LOGIN_ENABLED: false
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer-local
- talos-local
- name: e2e-docker
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-docker
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- talos
- talosctl-linux
- name: e2e-firecracker
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-firecracker
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- talosctl-linux
- kernel
- push-local
- name: provision-tests-prepare
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-prepare
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- talosctl-linux
- kernel
- push-local
- name: provision-tests-track-0
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-track-0
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- provision-tests-prepare
- name: provision-tests-track-1
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-track-1
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- provision-tests-prepare
- name: push
pull: always
image: autonomy/build-container:latest
commands:
- make push
environment:
DOCKER_PASSWORD:
from_secret: docker_password
DOCKER_USERNAME:
from_secret: docker_username
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
when:
event:
exclude:
- pull_request
- promote
- cron
depends_on:
- e2e-docker
- e2e-firecracker
- name: push-latest
pull: always
image: autonomy/build-container:latest
commands:
- make push-latest
environment:
DOCKER_PASSWORD:
from_secret: docker_password
DOCKER_USERNAME:
from_secret: docker_username
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
when:
branch:
- master
event:
- push
depends_on:
- e2e-docker
- e2e-firecracker
- name: e2e-capi
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-capi
environment:
AWS_ACCESS_KEY_ID:
from_secret: aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: aws_secret_access_key
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- e2e-docker
- e2e-firecracker
- name: e2e-aws
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-aws
environment:
AWS_ACCESS_KEY_ID:
from_secret: aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: aws_secret_access_key
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- e2e-capi
- name: e2e-gcp
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-gcp
environment:
AWS_ACCESS_KEY_ID:
from_secret: aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: aws_secret_access_key
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- e2e-capi
services:
- name: docker
image: docker:19.03-dind
entrypoint:
- dockerd
command:
- --dns=8.8.8.8
- --dns=8.8.4.4
- --mtu=1500
- --log-level=error
- --insecure-registry=registry.ci.svc:5000
privileged: true
ports:
- 6443
- 50000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
volumes:
- name: dockersock
temp: {}
- name: docker
temp: {}
- name: kube
temp: {}
- name: dev
host:
path: /dev
- name: tmp
temp: {}
node:
node-role.kubernetes.io/ci: ""
trigger:
target:
- e2e
---
kind: pipeline
name: conformance
platform:
os: linux
arch: amd64
steps:
- name: setup-ci
image: autonomy/build-container:latest
commands:
- git fetch --tags
- apk add coreutils
- echo -e "$BUILDX_KUBECONFIG" > /root/.kube/config
- docker buildx create --driver kubernetes --driver-opt replicas=2 --driver-opt namespace=ci --driver-opt image=moby/buildkit:v0.6.2 --name ci --buildkitd-flags="--allow-insecure-entitlement security.insecure" --use
- docker buildx inspect --bootstrap
- make ./_out/sonobuoy
- make ./_out/kubectl
environment:
BUILDX_KUBECONFIG:
from_secret: kubeconfig
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
- name: docs
pull: always
image: autonomy/build-container:latest
commands:
- make docs
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- setup-ci
- name: generate
pull: always
image: autonomy/build-container:latest
commands:
- make generate
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- setup-ci
- name: check-dirty
pull: always
image: autonomy/build-container:latest
commands:
- make check-dirty
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- docs
- generate
- name: talosctl-linux
pull: always
image: autonomy/build-container:latest
commands:
- make talosctl-linux
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: talosctl-darwin
pull: always
image: autonomy/build-container:latest
commands:
- make talosctl-darwin
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: kernel
pull: always
image: autonomy/build-container:latest
commands:
- make kernel
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: initramfs
pull: always
image: autonomy/build-container:latest
commands:
- make initramfs
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: installer
pull: always
image: autonomy/build-container:latest
commands:
- make installer
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: installer-local
pull: always
image: autonomy/build-container:latest
commands:
- make installer
environment:
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: talos
pull: always
image: autonomy/build-container:latest
commands:
- make talos
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: talos-local
pull: always
image: autonomy/build-container:latest
commands:
- make talos
environment:
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- talos
- name: lint-go
pull: always
image: autonomy/build-container:latest
commands:
- make lint-go
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: lint-markdown
pull: always
image: autonomy/build-container:latest
commands:
- make lint-markdown
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: lint-protobuf
pull: always
image: autonomy/build-container:latest
commands:
- make lint-protobuf
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: image-aws
pull: always
image: autonomy/build-container:latest
commands:
- make image-aws
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-azure
pull: always
image: autonomy/build-container:latest
commands:
- make image-azure
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-digital-ocean
pull: always
image: autonomy/build-container:latest
commands:
- make image-digital-ocean
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-gcp
pull: always
image: autonomy/build-container:latest
commands:
- make image-gcp
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-vmware
pull: always
image: autonomy/build-container:latest
commands:
- make image-vmware
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: unit-tests
pull: always
image: autonomy/build-container:latest
commands:
- make unit-tests
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: unit-tests-race
pull: always
image: autonomy/build-container:latest
commands:
- make unit-tests-race
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- lint-go
- name: coverage
image: alpine:3.10
commands:
- apk --no-cache add bash curl git
- bash -c "bash <(curl -s https://codecov.io/bash) -f _out/coverage.txt -X fix"
environment:
CODECOV_TOKEN:
from_secret: codecov_token
when:
event:
- pull_request
depends_on:
- unit-tests
- name: push-local
pull: always
image: autonomy/build-container:latest
commands:
- make push
environment:
DOCKER_LOGIN_ENABLED: false
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer-local
- talos-local
- name: e2e-docker
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-docker
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- talos
- talosctl-linux
- name: e2e-firecracker
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-firecracker
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- talosctl-linux
- kernel
- push-local
- name: provision-tests-prepare
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-prepare
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- talosctl-linux
- kernel
- push-local
- name: provision-tests-track-0
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-track-0
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- provision-tests-prepare
- name: provision-tests-track-1
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-track-1
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- provision-tests-prepare
- name: push
pull: always
image: autonomy/build-container:latest
commands:
- make push
environment:
DOCKER_PASSWORD:
from_secret: docker_password
DOCKER_USERNAME:
from_secret: docker_username
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
when:
event:
exclude:
- pull_request
- promote
- cron
depends_on:
- e2e-docker
- e2e-firecracker
- name: push-latest
pull: always
image: autonomy/build-container:latest
commands:
- make push-latest
environment:
DOCKER_PASSWORD:
from_secret: docker_password
DOCKER_USERNAME:
from_secret: docker_username
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
when:
branch:
- master
event:
- push
depends_on:
- e2e-docker
- e2e-firecracker
- name: e2e-capi
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-capi
environment:
AWS_ACCESS_KEY_ID:
from_secret: aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: aws_secret_access_key
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- e2e-docker
- e2e-firecracker
- name: e2e-aws
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-aws
environment:
AWS_ACCESS_KEY_ID:
from_secret: aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: aws_secret_access_key
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
SONOBUOY_MODE: certified-conformance
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- e2e-capi
- name: e2e-gcp
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-gcp
environment:
AWS_ACCESS_KEY_ID:
from_secret: aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: aws_secret_access_key
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
SONOBUOY_MODE: certified-conformance
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- e2e-capi
- name: push-edge
pull: always
image: autonomy/build-container:latest
commands:
- make push-edge
environment:
DOCKER_PASSWORD:
from_secret: docker_password
DOCKER_USERNAME:
from_secret: docker_username
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
when:
cron:
- nightly
depends_on:
- e2e-aws
- e2e-gcp
services:
- name: docker
image: docker:19.03-dind
entrypoint:
- dockerd
command:
- --dns=8.8.8.8
- --dns=8.8.4.4
- --mtu=1500
- --log-level=error
- --insecure-registry=registry.ci.svc:5000
privileged: true
ports:
- 6443
- 50000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
volumes:
- name: dockersock
temp: {}
- name: docker
temp: {}
- name: kube
temp: {}
- name: dev
host:
path: /dev
- name: tmp
temp: {}
node:
node-role.kubernetes.io/ci: ""
trigger:
target:
- conformance
---
kind: pipeline
name: nightly
platform:
os: linux
arch: amd64
steps:
- name: setup-ci
image: autonomy/build-container:latest
commands:
- git fetch --tags
- apk add coreutils
- echo -e "$BUILDX_KUBECONFIG" > /root/.kube/config
- docker buildx create --driver kubernetes --driver-opt replicas=2 --driver-opt namespace=ci --driver-opt image=moby/buildkit:v0.6.2 --name ci --buildkitd-flags="--allow-insecure-entitlement security.insecure" --use
- docker buildx inspect --bootstrap
- make ./_out/sonobuoy
- make ./_out/kubectl
environment:
BUILDX_KUBECONFIG:
from_secret: kubeconfig
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
- name: docs
pull: always
image: autonomy/build-container:latest
commands:
- make docs
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- setup-ci
- name: generate
pull: always
image: autonomy/build-container:latest
commands:
- make generate
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- setup-ci
- name: check-dirty
pull: always
image: autonomy/build-container:latest
commands:
- make check-dirty
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- docs
- generate
- name: talosctl-linux
pull: always
image: autonomy/build-container:latest
commands:
- make talosctl-linux
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: talosctl-darwin
pull: always
image: autonomy/build-container:latest
commands:
- make talosctl-darwin
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: kernel
pull: always
image: autonomy/build-container:latest
commands:
- make kernel
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: initramfs
pull: always
image: autonomy/build-container:latest
commands:
- make initramfs
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: installer
pull: always
image: autonomy/build-container:latest
commands:
- make installer
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: installer-local
pull: always
image: autonomy/build-container:latest
commands:
- make installer
environment:
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: talos
pull: always
image: autonomy/build-container:latest
commands:
- make talos
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: talos-local
pull: always
image: autonomy/build-container:latest
commands:
- make talos
environment:
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- talos
- name: lint-go
pull: always
image: autonomy/build-container:latest
commands:
- make lint-go
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: lint-markdown
pull: always
image: autonomy/build-container:latest
commands:
- make lint-markdown
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: lint-protobuf
pull: always
image: autonomy/build-container:latest
commands:
- make lint-protobuf
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: image-aws
pull: always
image: autonomy/build-container:latest
commands:
- make image-aws
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-azure
pull: always
image: autonomy/build-container:latest
commands:
- make image-azure
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-digital-ocean
pull: always
image: autonomy/build-container:latest
commands:
- make image-digital-ocean
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-gcp
pull: always
image: autonomy/build-container:latest
commands:
- make image-gcp
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-vmware
pull: always
image: autonomy/build-container:latest
commands:
- make image-vmware
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: unit-tests
pull: always
image: autonomy/build-container:latest
commands:
- make unit-tests
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: unit-tests-race
pull: always
image: autonomy/build-container:latest
commands:
- make unit-tests-race
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- lint-go
- name: coverage
image: alpine:3.10
commands:
- apk --no-cache add bash curl git
- bash -c "bash <(curl -s https://codecov.io/bash) -f _out/coverage.txt -X fix"
environment:
CODECOV_TOKEN:
from_secret: codecov_token
when:
event:
- pull_request
depends_on:
- unit-tests
- name: push-local
pull: always
image: autonomy/build-container:latest
commands:
- make push
environment:
DOCKER_LOGIN_ENABLED: false
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer-local
- talos-local
- name: e2e-docker
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-docker
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- talos
- talosctl-linux
- name: e2e-firecracker
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-firecracker
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- talosctl-linux
- kernel
- push-local
- name: provision-tests-prepare
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-prepare
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- talosctl-linux
- kernel
- push-local
- name: provision-tests-track-0
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-track-0
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- provision-tests-prepare
- name: provision-tests-track-1
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-track-1
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- provision-tests-prepare
- name: push
pull: always
image: autonomy/build-container:latest
commands:
- make push
environment:
DOCKER_PASSWORD:
from_secret: docker_password
DOCKER_USERNAME:
from_secret: docker_username
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
when:
event:
exclude:
- pull_request
- promote
- cron
depends_on:
- e2e-docker
- e2e-firecracker
- name: push-latest
pull: always
image: autonomy/build-container:latest
commands:
- make push-latest
environment:
DOCKER_PASSWORD:
from_secret: docker_password
DOCKER_USERNAME:
from_secret: docker_username
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
when:
branch:
- master
event:
- push
depends_on:
- e2e-docker
- e2e-firecracker
- name: e2e-capi
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-capi
environment:
AWS_ACCESS_KEY_ID:
from_secret: aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: aws_secret_access_key
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- e2e-docker
- e2e-firecracker
- name: e2e-aws
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-aws
environment:
AWS_ACCESS_KEY_ID:
from_secret: aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: aws_secret_access_key
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
SONOBUOY_MODE: certified-conformance
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- e2e-capi
- name: e2e-gcp
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-gcp
environment:
AWS_ACCESS_KEY_ID:
from_secret: aws_access_key_id
AWS_SECRET_ACCESS_KEY:
from_secret: aws_secret_access_key
AWS_SVC_ACCT:
from_secret: aws_svc_acct
AZURE_SVC_ACCT:
from_secret: azure_svc_acct
GCE_SVC_ACCT:
from_secret: gce_svc_acct
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
SONOBUOY_MODE: certified-conformance
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- e2e-capi
- name: push-edge
pull: always
image: autonomy/build-container:latest
commands:
- make push-edge
environment:
DOCKER_PASSWORD:
from_secret: docker_password
DOCKER_USERNAME:
from_secret: docker_username
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
when:
cron:
- nightly
depends_on:
- e2e-aws
- e2e-gcp
services:
- name: docker
image: docker:19.03-dind
entrypoint:
- dockerd
command:
- --dns=8.8.8.8
- --dns=8.8.4.4
- --mtu=1500
- --log-level=error
- --insecure-registry=registry.ci.svc:5000
privileged: true
ports:
- 6443
- 50000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
volumes:
- name: dockersock
temp: {}
- name: docker
temp: {}
- name: kube
temp: {}
- name: dev
host:
path: /dev
- name: tmp
temp: {}
node:
node-role.kubernetes.io/ci: ""
trigger:
cron:
- nightly
---
kind: pipeline
name: release
platform:
os: linux
arch: amd64
steps:
- name: setup-ci
image: autonomy/build-container:latest
commands:
- git fetch --tags
- apk add coreutils
- echo -e "$BUILDX_KUBECONFIG" > /root/.kube/config
- docker buildx create --driver kubernetes --driver-opt replicas=2 --driver-opt namespace=ci --driver-opt image=moby/buildkit:v0.6.2 --name ci --buildkitd-flags="--allow-insecure-entitlement security.insecure" --use
- docker buildx inspect --bootstrap
- make ./_out/sonobuoy
- make ./_out/kubectl
environment:
BUILDX_KUBECONFIG:
from_secret: kubeconfig
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
- name: docs
pull: always
image: autonomy/build-container:latest
commands:
- make docs
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- setup-ci
- name: generate
pull: always
image: autonomy/build-container:latest
commands:
- make generate
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- setup-ci
- name: check-dirty
pull: always
image: autonomy/build-container:latest
commands:
- make check-dirty
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- docs
- generate
- name: talosctl-linux
pull: always
image: autonomy/build-container:latest
commands:
- make talosctl-linux
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: talosctl-darwin
pull: always
image: autonomy/build-container:latest
commands:
- make talosctl-darwin
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: kernel
pull: always
image: autonomy/build-container:latest
commands:
- make kernel
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: initramfs
pull: always
image: autonomy/build-container:latest
commands:
- make initramfs
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: installer
pull: always
image: autonomy/build-container:latest
commands:
- make installer
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: installer-local
pull: always
image: autonomy/build-container:latest
commands:
- make installer
environment:
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: talos
pull: always
image: autonomy/build-container:latest
commands:
- make talos
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: talos-local
pull: always
image: autonomy/build-container:latest
commands:
- make talos
environment:
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- talos
- name: lint-go
pull: always
image: autonomy/build-container:latest
commands:
- make lint-go
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: lint-markdown
pull: always
image: autonomy/build-container:latest
commands:
- make lint-markdown
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: lint-protobuf
pull: always
image: autonomy/build-container:latest
commands:
- make lint-protobuf
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- check-dirty
- name: image-aws
pull: always
image: autonomy/build-container:latest
commands:
- make image-aws
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-azure
pull: always
image: autonomy/build-container:latest
commands:
- make image-azure
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-digital-ocean
pull: always
image: autonomy/build-container:latest
commands:
- make image-digital-ocean
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-gcp
pull: always
image: autonomy/build-container:latest
commands:
- make image-gcp
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: image-vmware
pull: always
image: autonomy/build-container:latest
commands:
- make image-vmware
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer
- name: unit-tests
pull: always
image: autonomy/build-container:latest
commands:
- make unit-tests
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- name: unit-tests-race
pull: always
image: autonomy/build-container:latest
commands:
- make unit-tests-race
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- lint-go
- name: coverage
image: alpine:3.10
commands:
- apk --no-cache add bash curl git
- bash -c "bash <(curl -s https://codecov.io/bash) -f _out/coverage.txt -X fix"
environment:
CODECOV_TOKEN:
from_secret: codecov_token
when:
event:
- pull_request
depends_on:
- unit-tests
- name: push-local
pull: always
image: autonomy/build-container:latest
commands:
- make push
environment:
DOCKER_LOGIN_ENABLED: false
REGISTRY: registry.ci.svc:5000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- installer-local
- talos-local
- name: e2e-docker
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-docker
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- talos
- talosctl-linux
- name: e2e-firecracker
pull: always
image: autonomy/build-container:latest
commands:
- make e2e-firecracker
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- talosctl-linux
- kernel
- push-local
- name: provision-tests-prepare
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-prepare
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- initramfs
- talosctl-linux
- kernel
- push-local
- name: provision-tests-track-0
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-track-0
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- provision-tests-prepare
- name: provision-tests-track-1
pull: always
image: autonomy/build-container:latest
commands:
- make provision-tests-track-1
environment:
REGISTRY: registry.ci.svc:5000
privileged: true
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- provision-tests-prepare
- name: push
pull: always
image: autonomy/build-container:latest
commands:
- make push
environment:
DOCKER_PASSWORD:
from_secret: docker_password
DOCKER_USERNAME:
from_secret: docker_username
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
when:
event:
exclude:
- pull_request
- promote
- cron
depends_on:
- e2e-docker
- e2e-firecracker
- name: push-latest
pull: always
image: autonomy/build-container:latest
commands:
- make push-latest
environment:
DOCKER_PASSWORD:
from_secret: docker_password
DOCKER_USERNAME:
from_secret: docker_username
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
when:
branch:
- master
event:
- push
depends_on:
- e2e-docker
- e2e-firecracker
- name: iso
pull: always
image: autonomy/build-container:latest
commands:
- make iso
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- e2e-docker
- e2e-firecracker
- name: boot
pull: always
image: autonomy/build-container:latest
commands:
- make boot
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
depends_on:
- e2e-docker
- e2e-firecracker
- name: release
image: plugins/github-release
settings:
api_key:
from_secret: github_token
checksum:
- sha256
- sha512
draft: true
files:
- _out/aws.tar.gz
- _out/azure.tar.gz
- _out/boot.tar.gz
- _out/container.tar
- _out/digital-ocean.tar.gz
- _out/gcp.tar.gz
- _out/initramfs.xz
- _out/installer.tar
- _out/talosctl-darwin-amd64
- _out/talosctl-linux-amd64
- _out/talosctl-linux-arm64
- _out/talosctl-linux-armv7
- _out/vmware.ova
- _out/vmlinux
- _out/vmlinuz
when:
event:
- tag
depends_on:
- kernel
- iso
- boot
- image-gcp
- image-azure
- image-aws
- push
services:
- name: docker
image: docker:19.03-dind
entrypoint:
- dockerd
command:
- --dns=8.8.8.8
- --dns=8.8.4.4
- --mtu=1500
- --log-level=error
- --insecure-registry=registry.ci.svc:5000
privileged: true
ports:
- 6443
- 50000
volumes:
- name: dockersock
path: /var/run
- name: docker
path: /root/.docker/buildx
- name: kube
path: /root/.kube
- name: dev
path: /dev
- name: tmp
path: /tmp
volumes:
- name: dockersock
temp: {}
- name: docker
temp: {}
- name: kube
temp: {}
- name: dev
host:
path: /dev
- name: tmp
temp: {}
node:
node-role.kubernetes.io/ci: ""
trigger:
event:
- tag
---
kind: pipeline
name: notify
platform:
os: linux
arch: amd64
clone:
disable: true
steps:
- name: slack
image: plugins/slack
settings:
channel: proj-talos-maintainers
link_names: true
template: "{{#if build.pull }}\n*{{#success build.status}}✓ Success{{else}}✕ Fail{{/success}}*: {{ repo.owner }}/{{ repo.name }} - <https://github.com/{{ repo.owner }}/{{ repo.name }}/pull/{{ build.pull }}|Pull Request #{{ build.pull }}>\n{{else}}\n*{{#success build.status}}✓ Success{{else}}✕ Fail{{/success}}: {{ repo.owner }}/{{ repo.name }} - Build #{{ build.number }}* (type: `{{ build.event }}`)\n{{/if}}\nCommit: <https://github.com/{{ repo.owner }}/{{ repo.name }}/commit/{{ build.commit }}|{{ truncate build.commit 8 }}>\nBranch: <https://github.com/{{ repo.owner }}/{{ repo.name }}/commits/{{ build.branch }}|{{ build.branch }}>\nAuthor: {{ build.author }}\n<{{ build.link }}|Visit build page>"
webhook:
from_secret: slack_webhook
services:
volumes:
- name: dockersock
temp: {}
- name: docker
temp: {}
- name: kube
temp: {}
- name: dev
host:
path: /dev
- name: tmp
temp: {}
node:
node-role.kubernetes.io/ci: ""
trigger:
status:
- success
- failure
depends_on:
- default
- e2e
- conformance
- nightly
- release
---
kind: signature
hmac: 963c1f5e9294c377ec08a13e8bdfe62405a503f683889048a309ab4c90bf257e
...