From c7ed48f8558d37b73d336d8cfe7fd2474059e950 Mon Sep 17 00:00:00 2001 From: Jelte Fennema Date: Fri, 2 Dec 2022 14:56:16 +0100 Subject: [PATCH] Test codeclimate --- .circleci/config.yml | 224 +++++++++++++++++++++++++++++++------------ 1 file changed, 161 insertions(+), 63 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4e952b470..63625a142 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -393,6 +393,11 @@ jobs: command: | gosu circleci make -C src/test/regress << parameters.make >> no_output_timeout: 2m + - run: + name: 'Create codeclimate coverage' + command: | + lcov --directory . --capture --output-file lcov.info + test-reporter format-coverage -t lcov -o codeclimate/$(openssl rand -hex 30).json lcov.info - run: name: 'Regressions' command: | @@ -625,6 +630,33 @@ jobs: - store_artifacts: name: 'Save worker2 log' path: src/test/regress/tmp_check/worker.57638/log + install-codeclimate: + docker: + - image: 'citus/extbuilder:latest' + working_directory: /home/circleci/project + steps: + - run: + name: Download cc-test-reporter + command: | + mkdir -p codeclimate/ + curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./codeclimate/test-reporter + chmod +x ./codeclimate/test-reporter + - persist_to_workspace: + root: . + paths: + - codeclimate/test-reporter + upload-coverage: + docker: + - image: 'citus/extbuilder:latest' + working_directory: /home/circleci/project + steps: + - attach_workspace: + at: . + - run: + name: Upload coverage results to Code Climate + command: | + ./codeclimate/test-reporter sum-coverage codeclimate/*.json -p 2 -o codeclimate/total.json + ./codeclimate/test-reporter upload-coverage -i codeclimate/total.json workflows: version: 2 @@ -663,394 +695,460 @@ workflows: - check-style - check-sql-snapshots + - install-codeclimate - test-citus: name: 'test-13_check-multi' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-multi - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-multi-1' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-multi-1 - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-mx' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-multi-mx - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-vanilla' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-vanilla - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-isolation' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-isolation - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-operations' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-operations - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-follower-cluster' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-follower-cluster - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-columnar' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-columnar - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-columnar-isolation' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-columnar-isolation - requires: [build-13] + requires: [install-codeclimate, build-13] - tap-test-citus: name: 'test-13_tap-recovery' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' suite: recovery - requires: [build-13] + requires: [install-codeclimate, build-13] - tap-test-citus: name: 'test-13_tap-columnar-freezing' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' suite: columnar_freezing - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-failure' pg_major: 13 image: citus/failtester image_tag: '<< pipeline.parameters.pg13_version >>' make: check-failure - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-enterprise' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-enterprise - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-enterprise-isolation' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-enterprise-isolation - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-enterprise-isolation-logicalrep-1' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-enterprise-isolation-logicalrep-1 - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-enterprise-isolation-logicalrep-2' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-enterprise-isolation-logicalrep-2 - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-enterprise-isolation-logicalrep-3' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-enterprise-isolation-logicalrep-3 - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-enterprise-failure' pg_major: 13 image: citus/failtester image_tag: '<< pipeline.parameters.pg13_version >>' make: check-enterprise-failure - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-13_check-split' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' make: check-split - requires: [build-13] + requires: [install-codeclimate, build-13] - test-citus: name: 'test-14_check-split' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-split - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-enterprise' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-enterprise - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-enterprise-isolation' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-enterprise-isolation - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-enterprise-isolation-logicalrep-1' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-enterprise-isolation-logicalrep-1 - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-enterprise-isolation-logicalrep-2' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-enterprise-isolation-logicalrep-2 - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-enterprise-isolation-logicalrep-3' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-enterprise-isolation-logicalrep-3 - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-enterprise-failure' pg_major: 14 image: citus/failtester image_tag: '<< pipeline.parameters.pg14_version >>' make: check-enterprise-failure - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-multi' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-multi - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-multi-1' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-multi-1 - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-mx' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-multi-mx - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-vanilla' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-vanilla - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-isolation' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-isolation - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-operations' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-operations - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-follower-cluster' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-follower-cluster - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-columnar' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-columnar - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-columnar-isolation' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' make: check-columnar-isolation - requires: [build-14] + requires: [install-codeclimate, build-14] - tap-test-citus: name: 'test-14_tap-recovery' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' suite: recovery - requires: [build-14] + requires: [install-codeclimate, build-14] - tap-test-citus: name: 'test-14_tap-columnar-freezing' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' suite: columnar_freezing - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-14_check-failure' pg_major: 14 image: citus/failtester image_tag: '<< pipeline.parameters.pg14_version >>' make: check-failure - requires: [build-14] + requires: [install-codeclimate, build-14] - test-citus: name: 'test-15_check-split' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-split - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-enterprise' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-enterprise - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-enterprise-isolation' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-enterprise-isolation - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-enterprise-isolation-logicalrep-1' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-enterprise-isolation-logicalrep-1 - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-enterprise-isolation-logicalrep-2' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-enterprise-isolation-logicalrep-2 - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-enterprise-isolation-logicalrep-3' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-enterprise-isolation-logicalrep-3 - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-enterprise-failure' pg_major: 15 image: citus/failtester image_tag: '<< pipeline.parameters.pg15_version >>' make: check-enterprise-failure - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-multi' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-multi - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-multi-1' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-multi-1 - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-mx' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-multi-mx - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-vanilla' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-vanilla - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-isolation' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-isolation - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-operations' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-operations - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-follower-cluster' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-follower-cluster - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-columnar' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-columnar - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-columnar-isolation' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' make: check-columnar-isolation - requires: [build-15] + requires: [install-codeclimate, build-15] - tap-test-citus: name: 'test-15_tap-recovery' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' suite: recovery - requires: [build-15] + requires: [install-codeclimate, build-15] - tap-test-citus: name: 'test-15_tap-columnar-freezing' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' suite: columnar_freezing - requires: [build-15] + requires: [install-codeclimate, build-15] - test-citus: name: 'test-15_check-failure' pg_major: 15 image: citus/failtester image_tag: '<< pipeline.parameters.pg15_version >>' make: check-failure - requires: [build-15] + requires: [install-codeclimate, build-15] - test-arbitrary-configs: name: 'test-13_check-arbitrary-configs' pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' - requires: [build-13] + requires: [install-codeclimate, build-13] - test-arbitrary-configs: name: 'test-14_check-arbitrary-configs' pg_major: 14 image_tag: '<< pipeline.parameters.pg14_version >>' - requires: [build-14] + requires: [install-codeclimate, build-14] - test-arbitrary-configs: name: 'test-15_check-arbitrary-configs' pg_major: 15 image_tag: '<< pipeline.parameters.pg15_version >>' - requires: [build-15] + requires: [install-codeclimate, build-15] - test-pg-upgrade: name: 'test-13-14_check-pg-upgrade' old_pg_major: 13 new_pg_major: 14 image_tag: '<< pipeline.parameters.upgrade_pg_versions >>' - requires: [build-13, build-14] + requires: [install-codeclimate, build-13, build-14] - test-pg-upgrade: name: 'test-14-15_check-pg-upgrade' old_pg_major: 14 new_pg_major: 15 image_tag: '<< pipeline.parameters.upgrade_pg_versions >>' - requires: [build-14, build-15] + requires: [install-codeclimate, build-14, build-15] - test-citus-upgrade: name: test-13_check-citus-upgrade pg_major: 13 image_tag: '<< pipeline.parameters.pg13_version >>' - requires: [build-13] + requires: [install-codeclimate, build-13] + + - upload-coverage: + requires: + - test-13_check-multi + - test-13_check-multi-1 + - test-13_check-mx + - test-13_check-vanilla + - test-13_check-isolation + - test-13_check-operations + - test-13_check-follower-cluster + - test-13_check-columnar + - test-13_check-columnar-isolation + - test-13_tap-recovery + - test-13_tap-columnar-freezing + - test-13_check-failure + - test-13_check-enterprise + - test-13_check-enterprise-isolation + - test-13_check-enterprise-isolation-logicalrep-1 + - test-13_check-enterprise-isolation-logicalrep-2 + - test-13_check-enterprise-isolation-logicalrep-3 + - test-13_check-enterprise-failure + - test-13_check-split + - test-14_check-multi + - test-14_check-multi-1 + - test-14_check-mx + - test-14_check-vanilla + - test-14_check-isolation + - test-14_check-operations + - test-14_check-follower-cluster + - test-14_check-columnar + - test-14_check-columnar-isolation + - test-14_tap-recovery + - test-14_tap-columnar-freezing + - test-14_check-failure + - test-14_check-enterprise + - test-14_check-enterprise-isolation + - test-14_check-enterprise-isolation-logicalrep-1 + - test-14_check-enterprise-isolation-logicalrep-2 + - test-14_check-enterprise-isolation-logicalrep-3 + - test-14_check-enterprise-failure + - test-14_check-split + - test-14_check-arbitrary-configs + - test-15_check-multi + - test-15_check-multi-1 + - test-15_check-mx + - test-15_check-vanilla + - test-15_check-isolation + - test-15_check-operations + - test-15_check-follower-cluster + - test-15_check-columnar + - test-15_check-columnar-isolation + - test-15_tap-recovery + - test-15_tap-columnar-freezing + - test-15_check-failure + - test-15_check-enterprise + - test-15_check-enterprise-isolation + - test-15_check-enterprise-isolation-logicalrep-1 + - test-15_check-enterprise-isolation-logicalrep-2 + - test-15_check-enterprise-isolation-logicalrep-3 + - test-15_check-enterprise-failure + - test-15_check-split + - test-15_check-arbitrary-configs + - test-13-14_check-pg-upgrade + - test-14-15_check-pg-upgrade + - ch_benchmark: requires: [build-13]