summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 838799f8ffa23903a4e9740f63ec9ace0d9eac46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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 libjudy-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)"