talos/.drone.yml
Andrew Rynhard 0ec17e4169 feat: run rootfs from squashfs
This change moves the rootfs to a squashfs image.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-25 08:38:31 -07:00

450 lines
9.0 KiB
YAML

---
kind: pipeline
name: default
services:
- name: docker
image: docker:dind
privileged: true
command:
- --dns=8.8.8.8
volumes:
- name: dockersock
path: /var/run
- name: dev
path: /dev
- name: tmp
path: /tmp
steps:
- name: fetch
image: docker:git
commands:
- git fetch --tags
when:
event: tag
- name: lint
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make lint
depends_on:
- fetch
- name: build-machined
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make machined
depends_on:
- lint
- name: build-osd
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make osd
depends_on:
- lint
- name: build-trustd
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make trustd
depends_on:
- lint
- name: build-proxyd
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make proxyd
depends_on:
- lint
- name: build-ntpd
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make ntpd
depends_on:
- lint
- name: build-osctl-darwin
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make osctl-darwin
depends_on:
- lint
- name: build-osctl-linux
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make osctl-linux
depends_on:
- lint
- name: rootfs
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make rootfs
volumes:
- name: dockersock
path: /var/run
depends_on:
- build-machined
- build-osd
- build-proxyd
- build-trustd
- build-ntpd
- name: initramfs
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make initramfs
volumes:
- name: dockersock
path: /var/run
depends_on:
- rootfs
- name: installer
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make installer
volumes:
- name: dockersock
path: /var/run
depends_on:
- rootfs
- initramfs
- name: talos-image
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make talos
volumes:
- name: dockersock
path: /var/run
depends_on:
- rootfs
- name: test
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make test
volumes:
- name: dockersock
path: /var/run/
depends_on:
- rootfs
- name: coverage
image: plugins/codecov
settings:
token:
from_secret: codecov_token
files:
- coverage.txt
depends_on:
- test
- name: basic-integration
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make basic-integration
- cp build/osctl-linux-amd64 /tmp/osctl
- cd /tmp
- ./osctl config generate cluster.local 1.2.3.4,2.3.4.5,3.4.5.6
volumes:
- name: dockersock
path: /var/run
- name: tmp
path: /tmp
depends_on:
- talos-image
- name: kernel
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make kernel
volumes:
- name: dockersock
path: /var/run
when:
event: tag
depends_on:
## Should change to e2e once we get things more stable
- basic-integration
- name: iso
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make talos-iso
volumes:
- name: dockersock
path: /var/run
when:
event: tag
depends_on:
## Should change to e2e once we get things more stable
- basic-integration
- name: gce
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make talos-gce
volumes:
- name: dockersock
path: /var/run
- name: dev
path: /dev
when:
event: tag
depends_on:
## Should change to e2e once we get things more stable
- basic-integration
- name: azure
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
commands:
- make talos-azure
volumes:
- name: dockersock
path: /var/run
- name: dev
path: /dev
when:
event: tag
depends_on:
## Should change to e2e once we get things more stable
- basic-integration
- gce
- name: push
image: autonomy/build-container:latest
pull: always
environment:
DOCKER_USERNAME:
from_secret: docker_username
DOCKER_PASSWORD:
from_secret: docker_password
commands:
- make gitmeta
- make login
- make push
volumes:
- name: dockersock
path: /var/run
when:
event:
exclude:
- pull_request
depends_on:
## Should change to e2e once we get things more stable
- basic-integration
- name: release
image: plugins/github-release
settings:
api_key:
from_secret: github_token
draft: true
files:
- build/*
checksum:
- sha256
- sha512
when:
event: tag
depends_on:
## Should change to e2e once we get things more stable
- basic-integration
- kernel
- iso
- gce
- azure
volumes:
- name: dockersock
temp: {}
- name: dev
host:
path: /dev
- name: tmp
temp: {}
trigger:
cron:
exclude: [nightly]
---
kind: pipeline
name: e2e
services:
- name: docker
image: docker:dind
privileged: true
command:
- --dns=8.8.8.8
- --dns=8.8.4.4
- --mtu=1440
volumes:
- name: dockersock
path: /var/run
- name: dev
path: /dev
- name: tmp
path: /tmp
steps:
- name: gce
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
GCE_SVC_ACCT:
from_secret: gce_svc_acct
TAG: latest
commands:
- make talos-gce
- ./hack/test/gce-setup.sh
volumes:
- name: dockersock
path: /var/run
- name: dev
path: /dev
- name: e2e-integration
image: autonomy/build-container:latest
pull: always
environment:
BUILDKIT_HOST: tcp://buildkitd.ci.svc:1234
BINDIR: /usr/local/bin
PACKET_AUTH_TOKEN:
from_secret: packet_auth_token
PACKET_PROJECT_ID:
from_secret: packet_project_id
PACKET_PXE_SERVER:
from_secret: packet_pxe_server
GCE_SVC_ACCT:
from_secret: gce_svc_acct
commands:
- make osctl-linux
- make e2e-integration
volumes:
- name: dockersock
path: /var/run
- name: tmp
path: /tmp
volumes:
- name: dockersock
temp: {}
- name: dev
host:
path: /dev
- name: tmp
temp: {}
trigger:
cron: [nightly]
---
kind: pipeline
name: notify
clone:
disable: true
steps:
- name: slack
image: plugins/slack
settings:
webhook:
from_secret: slack_webhook
channel: proj-talos-maint
when:
status:
- success
- failure
trigger:
status:
- success
- failure
depends_on:
- default
- e2e