aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.drone.yml92
1 files changed, 92 insertions, 0 deletions
diff --git a/.drone.yml b/.drone.yml
new file mode 100644
index 000000000..e8e714b71
--- /dev/null
+++ b/.drone.yml
@@ -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
+