aboutsummaryrefslogtreecommitdiff
path: root/.circleci
diff options
context:
space:
mode:
authorVitalii Diravka <vitalii.diravka@gmail.com>2018-09-11 14:39:13 +0300
committerAman Sinha <asinha@maprtech.com>2018-10-14 10:11:57 -0700
commit484bcfb1e237b6f8f9a244d344f36dcb86dedb61 (patch)
tree9bd5e890a9e6043b9977faded7524936686f9508 /.circleci
parent0a3cfdebd25ea4186c2a2b75524c34323984ffca (diff)
DRILL-6777: Setup CircleCI configs for Drill
- adding .circleci/config.yml to the project to launch CircleCI - custom memory parameters - usage of CircleCI machine - excluding "SlowTest" and "UnlikelyTest" groups - update maven version - adding libaio.so library to solve MySQL integration tests - update com.jcabi:jcabi-mysql-maven-plugin library version - TODO descriptions for the future enhancements of CircleCI build for Drill close apache/drill#1493
Diffstat (limited to '.circleci')
-rw-r--r--.circleci/config.yml51
1 files changed, 51 insertions, 0 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 000000000..1b179df8d
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,51 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+version: 2
+general:
+jobs:
+ build:
+ machine:
+ enabled: true
+ image: circleci/classic:latest
+ parallelism: 1 # TODO: 1. Configuring Parallel Jobs for Running Tests https://circleci.com/docs/2.0/parallelism-faster-jobs/
+
+
+ working_directory: ~/drill
+
+ steps:
+ - checkout
+
+ - run:
+ name: Update maven version
+ # TODO: Could be removed, once Machine Executor image is updated https://github.com/circleci/image-builder/issues/140
+ # and the possibility of specifying Maven version is added https://github.com/circleci/image-builder/issues/143
+ command:
+ curl -fsSL https://git.io/vpDIf | bash -s -- 3.5.4
+ - run:
+ name: Update packages list
+ command:
+ sudo apt-get update
+ - run:
+ name: Install libaio1.so library for MySQL integration tests
+ command:
+ sudo apt-get install libaio1 libaio-dev
+ - run:
+ name: Drill project build
+ # TODO: 2. Optimizing Maven Builds on CircleCI - https://circleci.com/blog/optimizing-maven-builds-on-circleci/
+ # TODO: 3. Caching Dependencies - https://circleci.com/docs/2.0/caching/
+ # TODO: 4. Resolving memory issues without "SlowTest" and "UnlikelyTest" excludedGroups in the build
+ command:
+ mvn install -Drat.skip=false -Dlicense.skip=false -DmemoryMb=2560 -DdirectMemoryMb=4608 -DexcludedGroups="org.apache.drill.categories.SlowTest,org.apache.drill.categories.UnlikelyTest"