citus/.circleci/config.yml

105 lines
2.6 KiB
YAML

version: 2.1
orbs:
codecov: codecov/codecov@1.0.5
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
- run:
name: 'Fix whitespace'
command: ci/editorconfig.sh
- run:
name: 'Check if whitespace fixing changed anything, install editorconfig if it did'
command: git diff --exit-code
- run:
name: 'Remove useless declarations'
command: ci/remove_useless_declarations.sh
- run:
name: 'Check if changed'
command: git diff --cached --exit-code
- run:
name: 'Normalize test output'
command: ci/normalize_expected.sh
- run:
name: 'Check if changed'
command: git diff --exit-code
- run:
name: 'Check for banned C API usage'
command: ci/banned.h.sh
check-sql-snapshots:
docker:
- image: 'citus/extbuilder:latest'
steps:
- checkout
- run:
name: 'Check Snapshots'
command: "./configure && make check-sql-snapshots -C src/backend/distributed"
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'
workflows:
version: 2
build_and_test:
jobs:
- build
- check-style
- check-sql-snapshots
- 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-12_check-multi:
requires: [build]
- test-12_check-tt-van-mx:
requires: [build]
- test-12_check-iso-work-fol:
requires: [build]
- test-12_check-fol:
requires: [build]
- test-12_check-failure:
requires: [build]
- test-11-12_check-pg-upgrade:
requires: [build]
- test-11_check-citus-upgrade:
requires: [build]