gvisor/.buildkite/pipeline.yaml

150 lines
4.1 KiB
YAML
Raw Normal View History

_templates:
common: &common
timeout_in_minutes: 30
retry:
automatic:
- exit_status: -1
limit: 10
- exit_status: "*"
limit: 2
steps:
# Run basic smoke tests before preceding to other tests.
- <<: *common
label: ":fire: Smoke tests"
command: make smoke-tests
- wait
# Check that the Go branch builds.
- <<: *common
label: ":golang: Go branch"
commands:
- make go
- git checkout go && git clean -f
- go build ./...
# Release workflow.
- <<: *common
label: ":ship: Release tests"
commands: make release
# Basic unit tests.
- <<: *common
label: ":test_tube: Unit tests"
command: make unit-tests
# All system call tests.
- <<: *common
label: ":toolbox: System call tests"
command: make syscall-tests
parallelism: 20
# Integration tests.
- <<: *common
label: ":parachute: FUSE tests"
command: make fuse-tests
- <<: *common
label: ":docker: Docker tests"
command: make docker-tests
- <<: *common
label: ":goggles: Overlay tests"
command: make overlay-tests
- <<: *common
label: ":safety_pin: Host network tests"
command: make hostnet-tests
- <<: *common
label: ":satellite: SWGSO tests"
command: make swgso-tests
- <<: *common
label: ":coffee: Do tests"
command: make do-tests
- <<: *common
label: ":person_in_lotus_position: KVM tests"
command: make kvm-tests
- <<: *common
label: ":docker: Containerd 1.3.9 tests"
command: make containerd-test-1.3.9
- <<: *common
label: ":docker: Containerd 1.4.3 tests"
command: make containerd-test-1.4.3
# Check the website builds.
- <<: *common
label: ":earth_americas: Website tests"
command: make website-build
# Networking tests.
- <<: *common
label: ":table_tennis_paddle_and_ball: IPTables tests"
command: make iptables-tests
- <<: *common
label: ":construction_worker: Packetdrill tests"
command: make packetdrill-tests
- <<: *common
label: ":hammer: Packetimpact tests"
command: make packetimpact-tests
# Runtime tests.
- <<: *common
label: ":php: PHP runtime tests"
command: make php7.3.6-runtime-tests_vfs2
parallelism: 10
- <<: *common
label: ":java: Java runtime tests"
command: make java11-runtime-tests_vfs2
parallelism: 40
- <<: *common
label: ":golang: Go runtime tests"
command: make go1.12-runtime-tests_vfs2
parallelism: 10
- <<: *common
label: ":node: NodeJS runtime tests"
command: make nodejs12.4.0-runtime-tests_vfs2
parallelism: 10
- <<: *common
label: ":python: Python runtime tests"
command: make python3.7.3-runtime-tests_vfs2
parallelism: 10
# Runtime tests (VFS1).
- <<: *common
label: ":php: PHP runtime tests (VFS1)"
command: make php7.3.6-runtime-tests
parallelism: 10
if: build.message =~ /VFS1/ || build.branch == "master"
- <<: *common
label: ":java: Java runtime tests (VFS1)"
command: make java11-runtime-tests
parallelism: 40
if: build.message =~ /VFS1/ || build.branch == "master"
- <<: *common
label: ":golang: Go runtime tests (VFS1)"
command: make go1.12-runtime-tests
parallelism: 10
if: build.message =~ /VFS1/ || build.branch == "master"
- <<: *common
label: ":node: NodeJS runtime tests (VFS1)"
command: make nodejs12.4.0-runtime-tests
parallelism: 10
if: build.message =~ /VFS1/ || build.branch == "master"
- <<: *common
label: ":python: Python runtime tests (VFS1)"
command: make python3.7.3-runtime-tests
parallelism: 10
if: build.message =~ /VFS1/ || build.branch == "master"
# The final step here will aggregate data uploaded by all other steps into an
# annotation that will appear at the top of the build, with useful information.
#
# See .buildkite/summarize.sh and .buildkite/hooks/post-command for more.
- wait
- <<: *common
label: ":yawning_face: Wait"
command: "true"
key: "wait"
- <<: *common
label: ":thisisfine: Summarize"
command: .buildkite/summarize.sh
allow_dependency_failure: true
depends_on: "wait"