open-nomad/.circleci/config/workflows/build-test.yml
Tim Gross 5dd77d1dc8
ci: make split between e2e and integration tests explicit (#9091)
Currently we compile (but don't run) the e2e tests as part of `test-other`,
which is skipped for branches named `e2e-*`. Move this check into the
`test-e2e` job. Split out the vault compatibility integration check as its own
makefile target for clarity.
2020-10-14 14:53:21 -04:00

97 lines
2.8 KiB
YAML

jobs:
- build-binaries:
# almost always build binaries as they may be needed
# for e2e tests
filters:
branches:
ignore:
- stable-website
- /^.-ui\b.*/
- lint-go:
# check branches are almost all the backend branches
filters: &backend_check_branches_filter
branches:
ignore:
- /^.-ui\b.*/
- /^docs-.*/
- stable-website
# Note: comment-out this job in ENT
- build-darwin-binaries:
filters: *backend_check_branches_filter
- test-e2e:
filters: *backend_check_branches_filter
- test-ui:
filters:
branches:
ignore:
- stable-website
- /^docs-.*/
- /^e2e-.*/
# Note: comment-out this job in ENT
- test-windows:
filters:
branches:
ignore:
- /^.-ui\b.*/
- /^docs-.*/
- /^e2e-.*/
- stable-website
- test-machine:
name: "test-client"
test_packages: "./client/..."
# test branches are the branches that can impact unit tests
filters: &backend_test_branches_filter
branches:
ignore:
- /^.-ui\b.*/
- /^docs-.*/
- /^e2e-.*/
- stable-website
- test-machine:
name: "test-nomad"
test_packages: "./nomad/..."
filters: *backend_test_branches_filter
- test-machine:
# API Tests run in a VM rather than container due to the FS tests
# requiring `mount` priviliges.
name: "test-api"
test_module: "api"
filters: *backend_test_branches_filter
- test-container:
name: "test-devices"
test_packages: "./devices/..."
filters: *backend_test_branches_filter
- test-machine:
name: "test-other"
exclude_packages: "./api|./client|./drivers/docker|./drivers/exec|./drivers/shared/executor|./nomad|./devices|./e2e"
filters: *backend_test_branches_filter
- test-machine:
name: "test-docker"
test_packages: "./drivers/docker"
# docker is misbehaving in docker-machine-recent image
# and we get unexpected failures
# e.g. https://circleci.com/gh/hashicorp/nomad/3854
executor: go-machine
filters: *backend_test_branches_filter
- test-machine:
name: "test-exec"
test_packages: "./drivers/exec"
filters: *backend_test_branches_filter
- test-machine:
name: "test-shared-exec"
test_packages: "./drivers/shared/executor"
filters: *backend_test_branches_filter
- test-machine:
name: "test-32bit"
# Currently we only explicitly test fingerprinting on 32bit
# architectures.
test_packages: "./client/fingerprint"
goarch: "386"
filters: *backend_test_branches_filter