You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuweni.apache.org by to...@apache.org on 2020/02/07 18:20:44 UTC

[incubator-tuweni] branch master updated: Add circleci

This is an automated email from the ASF dual-hosted git repository.

toulmean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tuweni.git


The following commit(s) were added to refs/heads/master by this push:
     new b4a5b01  Add circleci
b4a5b01 is described below

commit b4a5b01b9748f59fcaa6f001f9b789abd0b90665
Author: Antoine Toulme <an...@lunar-ocean.com>
AuthorDate: Fri Feb 7 10:17:36 2020 -0800

    Add circleci
---
 .circleci/config.yml | 152 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 152 insertions(+)

diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 0000000..7f4c955
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,152 @@
+# 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
+jobs:
+  build:
+    docker:
+      - image: circleci/openjdk:11-jdk-sid
+
+    working_directory: ~/repo
+
+    environment:
+      TERM: dumb
+      JAVA_TOOL_OPTIONS: -Xmx768m
+      GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.workers.max=2
+      GRADLE_MAX_TEST_FORKS: 2
+
+    steps:
+      - checkout
+      - run:
+          name: Check submodule status
+          command: git submodule status | tee ~/submodule-status
+
+      - restore_cache:
+          name: Restoring cached submodules
+          keys:
+            - v1-submodules-{{ checksum "~/submodule-status" }}
+
+      - run:
+          name: Update submodules
+          command: git submodule update --init --recursive
+
+      - run:
+          name: Install Sodium Library
+          command: |
+            sudo sh -c "echo 'deb http://deb.debian.org/debian unstable main contrib non-free' > /etc/apt/sources.list"
+            sudo apt-get update
+            sudo apt-get install -y libsodium23
+
+      - restore_cache:
+          name: Restoring cached gradle dependencies
+          keys:
+            - v1-gradle-dir-{{ checksum "build.gradle" }}
+            - v1-gradle-dir-
+
+      - run:
+          name: Downloading dependencies
+          command: ./gradlew allDependencies checkLicenses
+
+      - run:
+          name: Compiling
+          command: ./gradlew spotlessCheck assemble
+
+      - run:
+          name: Collecting artifacts
+          command: |
+            mkdir -p ~/jars
+            find . -type f -regex ".*/build/libs/.*jar" -exec cp {} ~/jars/ \;
+          when: always
+
+      - store_artifacts:
+          name: Uploading artifacts
+          path: ~/jars
+          destination: jars
+          when: always
+
+      - run:
+          name: Running tests
+          command: ./gradlew --stacktrace test
+
+      - run:
+          name: Collecting test results
+          command: |
+            ./gradlew jacocoTestReport
+            mkdir -p ~/test-results/
+            find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} ~/test-results/ \;
+          when: always
+
+      - store_test_results:
+          name: Uploading test results
+          path: ~/test-results
+          destination: tests
+          when: always
+
+      - run:
+          name: Collecting reports
+          command: |
+            mkdir -p ~/reports/license
+            (cd ./build/reports/license && tar c .) | (cd ~/reports/license && tar x)
+            find . -type d -regex ".*/build/reports/tests/test" | while read dir; do
+                  module=`echo $dir | sed -e 's/build\/reports\/tests\/test//'`
+                  mkdir -p ~/reports/test/"$module"
+                  (cd "$dir" && tar c .) | (cd ~/reports/test/"$module" && tar x)
+              done
+              find . -type d -regex ".*/build/reports/jacoco/test/html" | while read dir; do
+                  module=`echo $dir | sed -e 's/build\/reports\/jacoco\/test\/html//'`
+                  mkdir -p ~/reports/jacoco/"$module"
+                  (cd "$dir" && tar c .) | (cd ~/reports/jacoco/"$module" && tar x)
+              done
+          when: always
+
+      - store_artifacts:
+          name: Uploading reports
+          path: ~/reports
+          destination: reports
+
+      - run:
+          name: Building JavaDoc
+          command: ./gradlew :javadoc
+
+      - store_artifacts:
+          name: Uploading JavaDoc
+          path: build/docs/javadoc
+          destination: javadoc
+
+      - run:
+          name: Building Dokka docs
+          command: ./gradlew :dokka
+
+      - store_artifacts:
+          name: Uploading Dokka docs
+          path: build/docs/dokka
+          destination: dokka
+
+      - deploy:
+          name: Deploying snapshot to Maven repo (master)
+          command: |
+            if [ -z "${CIRCLE_PULL_REQUEST}" ] && echo "${CIRCLE_BRANCH}" | grep -q -E '^master$|^[0-9]+\.[0-9]+$'; then
+              echo "Start deployment"
+              ./gradlew deploy
+            fi
+
+      - save_cache:
+          name: Caching gradle dependencies
+          paths:
+            - .gradle
+            - ~/.gradle
+          key: v1-gradle-dir-{{ checksum "build.gradle" }}-{{ .Branch }}-{{ .BuildNum }}
+
+      - save_cache:
+          name: Caching submodules
+          paths:
+            - .git/modules
+          key: v1-submodules-{{ checksum "~/submodule-status" }}
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tuweni.apache.org
For additional commands, e-mail: commits-help@tuweni.apache.org