summaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.travis.yml68
1 files changed, 68 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..e729815
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,68 @@
+---
+dist: focal
+language: c
+
+addons:
+ apt:
+ packages: ['moreutils']
+
+env:
+ global:
+ - RELEASE_CHANNEL=nightly
+
+before_install:
+ - exec > >(ts -s '%H:%M:%.S ') 2>&1
+ - source .travis/utils.sh
+
+# Install dependencies for all, once
+#
+install:
+ - sudo apt-get install -y libuv1-dev liblz4-dev libcap2-bin zlib1g-dev uuid-dev fakeroot libipmimonitoring-dev libmnl-dev libnetfilter-acct-dev gnupg python3-pip
+ - sudo pip3 install git-semver==0.3.2 # 11/Sep/2019: git-semver tip was broken, so we had to force last good run of it
+ - source tests/installer/slack.sh
+ - export NOTIF_CHANNEL="automation-beta"
+ - if [ "${TRAVIS_REPO_SLUG}" = "netdata/netdata" ]; then export NOTIF_CHANNEL="automation"; fi;
+ - export BUILD_VERSION="$(cat packaging/version | cut -d'-' -f1)"
+ - export LATEST_RELEASE_VERSION="$(cat packaging/version | cut -d'-' -f1)"
+ - export LATEST_RELEASE_DATE="$(git log -1 --format=%aD "${LATEST_RELEASE_VERSION}" | cat)"
+ - if [[ "${TRAVIS_COMMIT_MESSAGE}" = *"[Build latest]"* ]]; then export BUILD_VERSION="$(cat packaging/version | cut -d'-' -f1,2 | sed -e 's/-/./g').latest"; fi;
+ - export DEPLOY_REPO="netdata" # Default production packaging repository
+ - export PACKAGING_USER="netdata" # Standard package cloud account
+ - if [[ "${TRAVIS_COMMIT_MESSAGE}" = *"[Build latest]"* ]]; then export DEPLOY_REPO="netdata-edge"; fi;
+ - export PACKAGE_CLOUD_RETENTION_DAYS=30
+ - if [ ! "${TRAVIS_REPO_SLUG}" = "netdata/netdata" ]; then export DEPLOY_REPO="netdata-devel"; fi;
+ # These are release-related artifacts and have to be evaluated before we start doing conditional checks inside stages
+ - source ".travis/tagger.sh"
+ - export GIT_TAG="$(git tag --points-at)"
+ - git submodule update --init --recursive
+
+
+# Setup notification system
+#
+notifications:
+ webhooks:
+ urls:
+ - https://app.fossa.io/hooks/travisci
+
+# Define the stage sequence and conditionals
+#
+stages:
+ # Mandatory runs, we always want these executed
+ - name: Build process
+ if: commit_message =~ /^((?!\[Package (amd64|arm64|i386) (DEB|RPM)( .*)?\]).)*$/
+
+
+# Define stage implementation details
+#
+jobs:
+ # This is a hook to help us introduce "soft" errors on our process
+ allow_failures:
+ - env: ALLOW_SOFT_FAILURE_HERE=true
+ include:
+ # Ensure netdata code builds successfully
+ - stage: Build process
+
+ name: Standard netdata build
+ script: fakeroot ./netdata-installer.sh --install $HOME --dont-wait --dont-start-it --enable-plugin-nfacct --enable-plugin-freeipmi --disable-lto
+ env: CFLAGS='-O1 -Wall -Wextra -Wformat-signedness -fstack-protector-all -fno-common -DNETDATA_INTERNAL_CHECKS=1 -D_FORTIFY_SOURCE=2 -DNETDATA_VERIFY_LOCKS=1'
+ after_failure: post_message "TRAVIS_MESSAGE" "<!here> standard netdata build is failing (Still dont know which one, will improve soon)"