aboutsummaryrefslogtreecommitdiff
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
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
-rw-r--r--.circleci/config.yml51
-rwxr-xr-xcontrib/storage-jdbc/pom.xml2
-rw-r--r--contrib/storage-jdbc/src/test/java/org/apache/drill/exec/store/jdbc/TestJdbcPluginWithMySQLIT.java1
3 files changed, 53 insertions, 1 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"
diff --git a/contrib/storage-jdbc/pom.xml b/contrib/storage-jdbc/pom.xml
index a032e6918..7de89f08a 100755
--- a/contrib/storage-jdbc/pom.xml
+++ b/contrib/storage-jdbc/pom.xml
@@ -213,7 +213,7 @@
<plugin>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-mysql-maven-plugin</artifactId>
- <version>0.8.2</version>
+ <version>0.9</version>
<executions>
<execution>
<id>mysql-test</id>
diff --git a/contrib/storage-jdbc/src/test/java/org/apache/drill/exec/store/jdbc/TestJdbcPluginWithMySQLIT.java b/contrib/storage-jdbc/src/test/java/org/apache/drill/exec/store/jdbc/TestJdbcPluginWithMySQLIT.java
index 164091309..0f377e3e8 100644
--- a/contrib/storage-jdbc/src/test/java/org/apache/drill/exec/store/jdbc/TestJdbcPluginWithMySQLIT.java
+++ b/contrib/storage-jdbc/src/test/java/org/apache/drill/exec/store/jdbc/TestJdbcPluginWithMySQLIT.java
@@ -26,6 +26,7 @@ import org.junit.experimental.categories.Category;
/**
* JDBC storage plugin tests against MySQL.
+ * Note: it requires libaio.so library in the system
*/
@Category(JdbcStorageTest.class)
public class TestJdbcPluginWithMySQLIT extends PlanTestBase {