]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Add .drone.yml
authorMikhail Galanin <mgalanin@mimecast.com>
Tue, 9 Oct 2018 16:17:04 +0000 (17:17 +0100)
committerMikhail Galanin <mgalanin@mimecast.com>
Tue, 9 Oct 2018 16:17:04 +0000 (17:17 +0100)
.drone.yml [new file with mode: 0644]

diff --git a/.drone.yml b/.drone.yml
new file mode 100644 (file)
index 0000000..e8e714b
--- /dev/null
@@ -0,0 +1,92 @@
+workspace:
+  base: /rspamd
+
+pipeline:
+
+  build:
+    image: gcc:5
+    group: build
+    commands:
+      - pwd
+      - set -e
+      - apt-get update -qq
+      - apt-get install -qq cmake libevent-dev libglib2.0-dev libicu-dev libluajit-5.1-dev libmagic-dev libsqlite3-dev libssl-dev ragel libunwind-dev libunwind8
+      - umask 0000
+      - mkdir /rspamd/build ; mkdir /rspamd/install ; cd /rspamd/build
+      - cmake /rspamd/src/github.com/rspamd/rspamd/ -DDBDIR=/nana -DENABLE_COVERAGE=ON -DENABLE_LIBUNWIND=ON -DCMAKE_INSTALL_PREFIX=/rspamd/install
+      - make install -j`nproc`
+      - make rspamd-test -j`nproc`
+
+  eslint:
+    image: node:latest
+    group: build
+    commands:
+      - npm install
+      - ./node_modules/.bin/eslint -v && ./node_modules/.bin/eslint ./
+
+  rspamd-test:
+    image: gcc:5
+    group: tests
+    commands:
+      - set -e
+      - apt-get update -qq
+      - apt-get install -qq cmake libevent-dev libglib2.0-dev libicu-dev libluajit-5.1-dev libmagic-dev libsqlite3-dev libssl-dev ragel libunwind-dev libunwind8 luarocks
+      - apt-get install -qq python-pip python-dev
+      - pip install --upgrade setuptools
+      - pip install --upgrade pyOpenSSL
+      - pip install --upgrade certifi
+      - pip install --upgrade ipaddress
+      - pip install --upgrade urllib3
+      - pip install --upgrade enum34
+      - pip install --upgrade cpp-coveralls requests cryptography
+      - luarocks install luacov
+      - luarocks install luacov-coveralls
+
+      - cd /rspamd/build
+      - set +e; test/rspamd-test -p /rspamd/lua
+      - luacov-coveralls -o unit_test_lua.json --dryrun
+      - coveralls --dump coverage.rspamd-test.dump
+
+  functional:
+    image: gcc:5
+    group: tests
+    commands:
+      - echo 'deb http://repo.yandex.ru/clickhouse/deb/stable/ main/' | tee /etc/apt/sources.list.d/clickhouse.list
+      - apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4    # optional, clickhouse key
+      - apt-get update -qq || true
+      - apt-get install -qq libluajit-5.1-dev libpcre3-dev luarocks opendkim-tools python-pip redis-server libunwind8 libglib2.0-dev libicu-dev libevent-dev python-dev
+      - apt-get install -qq clickhouse-server
+      - apt-get install -qq python-pip python-dev
+      - pip install demjson psutil robotframework http
+      - pip install --upgrade setuptools
+      - pip install --upgrade pyOpenSSL
+      - pip install --upgrade certifi
+      - pip install --upgrade ipaddress
+      - pip install --upgrade urllib3
+      - pip install --upgrade enum34
+      - pip install --upgrade cpp-coveralls requests cryptography
+
+      - luarocks install luacheck
+      - luarocks install luacov
+      - luarocks install luacov-coveralls
+
+      - cd /rspamd/build
+      - umask 0000
+      - set +e; RSPAMD_INSTALLROOT=/rspamd/install robot -x xunit.xml --exclude isbroken /rspamd/src/github.com/rspamd/rspamd/test/functional/cases; export RETURN_CODE=$?
+      - cat log.html
+      - coveralls --dump coverage.functional.dump
+      - exit $RETURN_CODE
+
+  send-coverage:
+    image: gcc:5
+    secrets: [ coveralls_repo_token ]
+    commands: |
+      [ ! $DRONE_COMMIT_BRANCH = 'master' ] && exit 0
+      apt-get update -qq || true
+      apt-get install -qq python-pip python-dev
+      pip install --upgrade setuptools
+      pip install --upgrade pyOpenSSL
+      pip install cpp-coveralls requests cryptography
+      cd /rspamd/build
+      [ ! -z $COVERALLS_REPO_TOKEN ] && /rspamd/src/github.com/rspamd/rspamd/test/functional/util/merge_coveralls.py --input coverage.functional.dump coverage.rspamd-test.dump unit_test_lua.json lua_coverage_report.json --output out.josn --token=$COVERALLS_REPO_TOKEN
+