_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"