version: 2.1 orbs: codecov: codecov/codecov@1.0.4 jobs: build: docker: - image: 'citus/extbuilder:latest' 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: 'chown -R circleci:circleci /home/circleci && 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: 'chown -R circleci:circleci /home/circleci && 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: 'chown -R circleci:circleci /home/circleci && 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: 'chown -R circleci:circleci /home/circleci && 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: 'chown -R circleci:circleci /home/circleci && install-and-test-ext check-failure' test-11_check-multi: docker: - image: 'citus/exttester-11:latest' working_directory: /home/circleci/project steps: - attach_workspace: at: . - run: name: 'Install and Test (check-multi)' command: 'chown -R circleci:circleci /home/circleci && install-and-test-ext check-multi' - codecov/upload: flags: 'test_11,multi' test-11_check-non-adaptive-multi: docker: - image: 'citus/exttester-11:latest' working_directory: /home/circleci/project steps: - attach_workspace: at: . - run: name: 'Install and Test (check-non-adaptive-executors)' command: 'chown -R circleci:circleci /home/circleci && install-and-test-ext check-multi-non-adaptive' - codecov/upload: flags: 'test_11,multi' test-11_check-non-adaptive-failure: docker: - image: 'citus/failtester-11:latest' working_directory: /home/circleci/project steps: - attach_workspace: at: . - run: name: 'Install and Test (check-non-adaptive-executors)' command: 'chown -R circleci:circleci /home/circleci && install-and-test-ext check-failure-non-adaptive' - codecov/upload: flags: 'test_11,failure' test-11_check-non-adaptive-isolation: docker: - image: 'citus/exttester-11:latest' working_directory: /home/circleci/project steps: - attach_workspace: at: . - run: name: 'Install and Test (check-non-adaptive-executors)' command: 'chown -R circleci:circleci /home/circleci && install-and-test-ext check-isolation-non-adaptive' - codecov/upload: flags: 'test_11,isolation' test-11_check-tt-van-mx: docker: - image: 'citus/exttester-11:latest' working_directory: /home/circleci/project steps: - attach_workspace: at: . - run: name: 'Install and Test (check-tt-van-mx)' command: 'chown -R circleci:circleci /home/circleci && 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: 'citus/exttester-11:latest' working_directory: /home/circleci/project steps: - attach_workspace: at: . - run: name: 'Install and Test (check-iso-work-fol)' command: 'chown -R circleci:circleci /home/circleci && install-and-test-ext check-isolation check-worker' - codecov/upload: flags: 'test_11,isolation,worker' test-11_check-fol: docker: - image: 'citus/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: 'chown -R circleci:circleci /home/circleci && 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: 'citus/failtester-11:latest' working_directory: /home/circleci/project steps: - attach_workspace: at: . - run: name: 'Install and Test (check-failure)' command: 'chown -R circleci:circleci /home/circleci && install-and-test-ext check-failure' test-10-11_check-pg-upgrade: docker: - image: 'citus/pgupgradetester:latest' working_directory: /home/circleci/project steps: - attach_workspace: at: . - run: name: 'Install and test postgres upgrade' command: 'chown -R circleci:circleci /home/circleci && install-and-test-ext --target check-upgrade --old-pg-version 10 --new-pg-version 11' test-11-12_check-pg-upgrade: docker: - image: 'citus/pgupgradetester:latest' working_directory: /home/circleci/project steps: - attach_workspace: at: . - run: name: 'Install and test postgres upgrade' command: 'chown -R circleci:circleci /home/circleci && install-and-test-ext --target check-upgrade --old-pg-version 11 --new-pg-version 12' 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] - test-10-11_check-pg-upgrade: requires: [build] - test-11-12_check-pg-upgrade: requires: [build]