From 868fd2d78e34b46aecaa28ed9f09cb4bebe66e18 Mon Sep 17 00:00:00 2001 From: Jesse Zhang Date: Tue, 29 Sep 2020 13:15:09 -0700 Subject: [PATCH] Check ORCA and GPOPT formatting in Concourse. This patch adds a simple job that checks for the clang-format conformance, similar to the Travis CI job did in commit 54273fdd729a1958 (greenplum-db/gpdb#10357). I was not amused when I realized the gen_pipeline.py doesn't do the due diligence of finding transitive dependencies (so the new job actually already blocks release, but the script insists on stopping at immediate blockers). But that's left for another day. --- concourse/pipelines/gpdb_master-generated.yml | 22 ++++++++++++++++++- concourse/pipelines/templates/gpdb-tpl.yml | 20 +++++++++++++++++ concourse/tasks/check_format.yml | 14 ++++++++++++ 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 concourse/tasks/check_format.yml diff --git a/concourse/pipelines/gpdb_master-generated.yml b/concourse/pipelines/gpdb_master-generated.yml index 8500a5d040..c0a80ddafb 100644 --- a/concourse/pipelines/gpdb_master-generated.yml +++ b/concourse/pipelines/gpdb_master-generated.yml @@ -12,7 +12,7 @@ ## file (example: templates/gpdb-tpl.yml) and regenerate the pipeline ## using appropriate tool (example: gen_pipeline.py -t prod). ## ---------------------------------------------------------------------- -## Generated by gen_pipeline.py at: 2020-09-24 14:23:30.814793 +## Generated by gen_pipeline.py at: 2020-09-29 14:08:17.186144 ## Template file: gpdb-tpl.yml ## OS Types: ['centos6', 'centos7', 'ubuntu18.04', 'win'] ## Test Sections: ['ICW', 'Replication', 'ResourceGroups', 'Interconnect', 'CLI', 'UD', 'Extensions'] @@ -387,6 +387,11 @@ resources: repository: alpine tag: latest +- name: clang_toolchain + type: registry-image + source: + repository: gcr.io/data-orca/clang-toolchain + - name: ccp-image type: registry-image source: @@ -636,6 +641,16 @@ jobs: bats -t scripts/*.bats fi +- name: check_format + plan: + - in_parallel: + - get: gpdb_src + trigger: true + - get: clang_toolchain + - task: check_format + image: clang_toolchain + file: gpdb_src/concourse/tasks/check_format.yml + ## ====================================================================== ## ____ _ _ ## / ___|___ _ __ ___ _ __ (_) | ___ @@ -652,6 +667,8 @@ jobs: - get: reduced-frequency-trigger trigger: ((reduced-frequency-trigger-flag)) - get: gpdb_src + passed: + - check_format trigger: ((gpdb_src-trigger-flag)) - get: gpdb7-centos7-build - get: libquicklz-installer @@ -683,6 +700,8 @@ jobs: - get: reduced-frequency-trigger trigger: ((reduced-frequency-trigger-flag)) - get: gpdb_src + passed: + - check_format trigger: ((gpdb_src-trigger-flag)) - get: gpdb7-ubuntu18.04-build - get: libquicklz-installer @@ -3270,6 +3289,7 @@ jobs: - get: gpdb_src trigger: true passed: + - check_format - compile_gpdb_centos7 - compile_gpdb_ubuntu18.04 - icw_gporca_centos7 diff --git a/concourse/pipelines/templates/gpdb-tpl.yml b/concourse/pipelines/templates/gpdb-tpl.yml index dea3cdbf91..e282486b15 100644 --- a/concourse/pipelines/templates/gpdb-tpl.yml +++ b/concourse/pipelines/templates/gpdb-tpl.yml @@ -440,6 +440,11 @@ resources: repository: alpine tag: latest +- name: clang_toolchain + type: registry-image + source: + repository: gcr.io/data-orca/clang-toolchain + - name: ccp-image type: registry-image source: @@ -764,6 +769,16 @@ jobs: bats -t scripts/*.bats fi +- name: check_format + plan: + - in_parallel: + - get: gpdb_src + trigger: true + - get: clang_toolchain + - task: check_format + image: clang_toolchain + file: gpdb_src/concourse/tasks/check_format.yml + ## ====================================================================== ## ____ _ _ ## / ___|___ _ __ ___ _ __ (_) | ___ @@ -781,6 +796,8 @@ jobs: - get: reduced-frequency-trigger trigger: ((reduced-frequency-trigger-flag)) - get: gpdb_src + passed: + - check_format trigger: ((gpdb_src-trigger-flag)) - get: gpdb7-centos7-build - get: libquicklz-installer @@ -814,6 +831,8 @@ jobs: - get: reduced-frequency-trigger trigger: ((reduced-frequency-trigger-flag)) - get: gpdb_src + passed: + - check_format trigger: ((gpdb_src-trigger-flag)) - get: gpdb7-ubuntu18.04-build - get: libquicklz-installer @@ -1830,6 +1849,7 @@ jobs: - get: gpdb_src trigger: true passed: + - check_format - compile_gpdb_centos7 - compile_gpdb_ubuntu18.04 - icw_gporca_centos7 diff --git a/concourse/tasks/check_format.yml b/concourse/tasks/check_format.yml new file mode 100644 index 0000000000..0313bd7b8e --- /dev/null +++ b/concourse/tasks/check_format.yml @@ -0,0 +1,14 @@ +platform: linux +image_resource: + type: registry-image + source: + repository: gcr.io/data-orca/clang-toolchain + +inputs: + - name: gpdb_src + path: . +run: + path: src/tools/fmt + args: [ chk ] +params: + CLANG_FORMAT: clang-format-10 -- GitLab