mirror of https://github.com/citusdata/citus.git
Enable CircleCI
The configuration for the build is in the YAML file; the changes to the regression runner are backward-compatible with Travis and just add the logic to detect whether our custom (isolation- and vanilla-enabled) pkg is present.pull/2616/head
parent
25b5fc9d14
commit
5db45bac45
|
@ -0,0 +1,81 @@
|
||||||
|
version: 2.0
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
docker:
|
||||||
|
- {image: 'citusdata/extbuilder:latest'}
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- {run: {name: 'Configure, Build, and Install', command: build-ext}}
|
||||||
|
- {persist_to_workspace: {root: ., paths: [.]}}
|
||||||
|
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'}}
|
||||||
|
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'}}
|
||||||
|
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 check-follower-cluster'}}
|
||||||
|
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'}}
|
||||||
|
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'}}
|
||||||
|
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 check-follower-cluster'}}
|
||||||
|
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
|
||||||
|
|
||||||
|
- {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-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-failure: {requires: [build]}}
|
|
@ -16,6 +16,7 @@ use warnings;
|
||||||
|
|
||||||
use Fcntl;
|
use Fcntl;
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
|
use File::Basename;
|
||||||
use File::Spec::Functions;
|
use File::Spec::Functions;
|
||||||
use File::Path qw(make_path remove_tree);
|
use File::Path qw(make_path remove_tree);
|
||||||
use Config;
|
use Config;
|
||||||
|
@ -151,6 +152,11 @@ else
|
||||||
$plainRegress = "$pgxsdir/src/test/regress/pg_regress";
|
$plainRegress = "$pgxsdir/src/test/regress/pg_regress";
|
||||||
$isolationRegress = "${postgresBuilddir}/src/test/isolation/pg_isolation_regress";
|
$isolationRegress = "${postgresBuilddir}/src/test/isolation/pg_isolation_regress";
|
||||||
$pgConfig = "$bindir/pg_config";
|
$pgConfig = "$bindir/pg_config";
|
||||||
|
|
||||||
|
if (-x "$pgxsdir/src/test/isolation/pg_isolation_regress")
|
||||||
|
{
|
||||||
|
$isolationRegress = "$pgxsdir/src/test/isolation/pg_isolation_regress";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($isolationtester && ! -f "$isolationRegress")
|
if ($isolationtester && ! -f "$isolationRegress")
|
||||||
|
@ -171,7 +177,9 @@ MESSAGE
|
||||||
}
|
}
|
||||||
|
|
||||||
my $vanillaRegress = catfile("${postgresBuilddir}", "src", "test", "regress", "pg_regress");
|
my $vanillaRegress = catfile("${postgresBuilddir}", "src", "test", "regress", "pg_regress");
|
||||||
if ($vanillatest && ! -f "$vanillaRegress")
|
my $vanillaSchedule = catfile(dirname("${pgxsdir}"), "regress", "parallel_schedule");
|
||||||
|
|
||||||
|
if ($vanillatest && ! (-f "$vanillaRegress" or -f "$vanillaSchedule"))
|
||||||
{
|
{
|
||||||
die <<"MESSAGE";
|
die <<"MESSAGE";
|
||||||
|
|
||||||
|
@ -796,8 +804,21 @@ if ($vanillatest)
|
||||||
$ENV{PGPORT} = $masterPort;
|
$ENV{PGPORT} = $masterPort;
|
||||||
$ENV{PGUSER} = $user;
|
$ENV{PGUSER} = $user;
|
||||||
|
|
||||||
|
if (-f "$vanillaSchedule")
|
||||||
|
{
|
||||||
|
rmdir "./testtablespace";
|
||||||
|
mkdir "./testtablespace";
|
||||||
|
|
||||||
|
my $pgregressdir=catfile(dirname("$pgxsdir"), "regress");
|
||||||
|
system("$plainRegress", ("--inputdir", $pgregressdir),
|
||||||
|
("--schedule", catfile("$pgregressdir", "parallel_schedule"))) == 0
|
||||||
|
or die "Could not run vanilla tests";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
system("make", ("-C", catfile("$postgresBuilddir", "src", "test", "regress"), "installcheck-parallel")) == 0
|
system("make", ("-C", catfile("$postgresBuilddir", "src", "test", "regress"), "installcheck-parallel")) == 0
|
||||||
or die "Could not run vanilla tests";
|
or die "Could not run vanilla tests";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
elsif ($isolationtester)
|
elsif ($isolationtester)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue