citus/.circleci/config.yml

173 lines
6.5 KiB
YAML

version: 2.1
orbs:
codecov: codecov/codecov@1.0.4
jobs:
build:
docker:
- {image: 'citusdata/extbuilder:werror'}
steps:
- checkout
- {run: {name: 'Configure, Build, and Install', command: build-ext}}
- {persist_to_workspace: {root: ., paths: [.]}}
check-style:
docker:
- {image: 'citusdata/stylechecker:latest'}
steps:
- checkout
- {run: {name: 'Check Style', command: citus_indent --check}}
check-sql-snapshots:
docker:
- {image: 'citusdata/extbuilder:werror'}
steps:
- checkout
- {run: {name: 'Check Snapshots', command: "./configure && make check-sql-snapshots -C src/backend/distributed"}}
test-10_check-multi:
docker:
- {image: 'citusdata/exttester-10:latest'}
working_directory: /home/circleci/project
steps:
- {attach_workspace: {at: .}}
- {run: {name: 'Install and Test (check-multi)', command: 'install-and-test-ext check-multi'}}
- {codecov/upload: {flags: 'test_10,multi'}}
test-10_check-tt-van-mx:
docker:
- {image: 'citusdata/exttester-10:latest'}
working_directory: /home/circleci/project
steps:
- {attach_workspace: {at: .}}
- {run: {name: 'Install and Test (check-tt-van-mx)', command: 'install-and-test-ext check-multi-task-tracker-extra check-vanilla check-multi-mx'}}
- {codecov/upload: {flags: 'test_10,tracker,vanilla,mx'}}
test-10_check-iso-work-fol:
docker:
- {image: 'citusdata/exttester-10:latest'}
working_directory: /home/circleci/project
steps:
- {attach_workspace: {at: .}}
- {run: {name: 'Install and Test (check-iso-work-fol)', command: 'install-and-test-ext check-isolation check-worker'}}
- {codecov/upload: {flags: 'test_10,isolation,worker'}}
test-10_check-fol:
docker:
- {image: 'citusdata/exttester-10:latest'}
working_directory: /home/circleci/project
steps:
- {attach_workspace: {at: .}}
- run:
name: 'Enable core dumps'
command: 'ulimit -c unlimited'
- {run: {name: 'Install and Test (fol)', command: 'install-and-test-ext check-follower-cluster'}}
- run:
command: |
mkdir -p /tmp/core_dumps
cp core.* /tmp/core_dumps
when: on_fail
- {codecov/upload: {flags: 'follower'}}
- {store_artifacts: {path: '/tmp/core_dumps'}}
test-10_check-failure:
docker:
- {image: 'citusdata/failtester-10:latest'}
working_directory: /home/circleci/project
steps:
- {attach_workspace: {at: .}}
- {run: {name: 'Install and Test (check-failure)', command: 'install-and-test-ext check-failure'}}
test-11_check-multi:
docker:
- {image: 'citusdata/exttester-11:latest'}
working_directory: /home/circleci/project
steps:
- {attach_workspace: {at: .}}
- {run: {name: 'Install and Test (check-multi)', command: 'install-and-test-ext check-multi'}}
- {codecov/upload: {flags: 'test_11,multi'}}
test-11_check-non-adaptive-multi:
docker:
- {image: 'citusdata/exttester-11:latest'}
working_directory: /home/circleci/project
steps:
- {attach_workspace: {at: .}}
- {run: {name: 'Install and Test (check-non-adaptive-executors)', command: 'install-and-test-ext check-multi-non-adaptive'}}
- {codecov/upload: {flags: 'test_11,multi'}}
test-11_check-non-adaptive-failure:
docker:
- {image: 'citusdata/failtester-11:latest'}
working_directory: /home/circleci/project
steps:
- {attach_workspace: {at: .}}
- {run: {name: 'Install and Test (check-non-adaptive-executors)', command: 'install-and-test-ext check-failure-non-adaptive'}}
- {codecov/upload: {flags: 'test_11,failure'}}
test-11_check-non-adaptive-isolation:
docker:
- {image: 'citusdata/exttester-11:latest'}
working_directory: /home/circleci/project
steps:
- {attach_workspace: {at: .}}
- {run: {name: 'Install and Test (check-non-adaptive-executors)', command: 'install-and-test-ext check-isolation-non-adaptive'}}
- {codecov/upload: {flags: 'test_11,isolation'}}
test-11_check-tt-van-mx:
docker:
- {image: 'citusdata/exttester-11:latest'}
working_directory: /home/circleci/project
steps:
- {attach_workspace: {at: .}}
- {run: {name: 'Install and Test (check-tt-van-mx)', command: 'install-and-test-ext check-multi-task-tracker-extra check-vanilla check-multi-mx'}}
- {codecov/upload: {flags: 'test_11,tracker,vanilla,mx'}}
test-11_check-iso-work-fol:
docker:
- {image: 'citusdata/exttester-11:latest'}
working_directory: /home/circleci/project
steps:
- {attach_workspace: {at: .}}
- {run: {name: 'Install and Test (check-iso-work-fol)', command: 'install-and-test-ext check-isolation check-worker'}}
- {codecov/upload: {flags: 'test_11,isolation,worker'}}
test-11_check-fol:
docker:
- {image: 'citusdata/exttester-11:latest'}
working_directory: /home/circleci/project
steps:
- {attach_workspace: {at: .}}
- run:
name: 'Enable core dumps'
command: 'ulimit -c unlimited'
- {run: {name: 'Install and Test (fol)', command: 'install-and-test-ext check-follower-cluster'}}
- run:
command: |
mkdir -p /tmp/core_dumps
cp core.* /tmp/core_dumps
when: on_fail
- {codecov/upload: {flags: 'follower'}}
- {store_artifacts: {path: '/tmp/core_dumps'}}
test-11_check-failure:
docker:
- {image: 'citusdata/failtester-11:latest'}
working_directory: /home/circleci/project
steps:
- {attach_workspace: {at: .}}
- {run: {name: 'Install and Test (check-failure)', command: 'install-and-test-ext check-failure'}}
workflows:
version: 2
build_and_test:
jobs:
- build
- check-style
- check-sql-snapshots
- {test-10_check-multi: {requires: [build]}}
- {test-10_check-tt-van-mx: {requires: [build]}}
- {test-10_check-iso-work-fol: {requires: [build]}}
- {test-10_check-fol: {requires: [build]}}
- {test-10_check-failure: {requires: [build]}}
- {test-11_check-multi: {requires: [build]}}
- {test-11_check-tt-van-mx: {requires: [build]}}
- {test-11_check-iso-work-fol: {requires: [build]}}
- {test-11_check-fol: {requires: [build]}}
- {test-11_check-failure: {requires: [build]}}
- {test-11_check-non-adaptive-multi: {requires: [build]}}
- {test-11_check-non-adaptive-failure: {requires: [build]}}
- {test-11_check-non-adaptive-isolation: {requires: [build]}}