.travis.yml 4.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. dist: trusty
  2. sudo: true
  3. language: c
  4. services:
  5. - docker
  6. stages:
  7. - test
  8. - build
  9. - name: packaging
  10. if: branch = master AND type != pull_request AND type != cron
  11. - name: nightlies
  12. if: branch = master AND type = cron
  13. jobs:
  14. include:
  15. - stage: test
  16. name: C
  17. install: sudo apt-get install -y libcap2-bin zlib1g-dev uuid-dev fakeroot libipmimonitoring-dev libmnl-dev libnetfilter-acct-dev
  18. script: fakeroot ./netdata-installer.sh --install $HOME --dont-wait --dont-start-it --enable-plugin-nfacct --enable-plugin-freeipmi --disable-lto && $HOME/netdata/usr/sbin/netdata -W unittest
  19. env: CFLAGS='-O1 -DNETDATA_INTERNAL_CHECKS=1 -DNETDATA_VERIFY_LOCKS=1'
  20. - name: dashboard.js
  21. script: cp web/gui/dashboard.js /tmp/dashboard.js && ./build/build.sh && diff /tmp/dashboard.js web/gui/dashboard.js
  22. - name: coverity
  23. install: sudo apt-get install -y zlib1g-dev uuid-dev libipmimonitoring-dev libmnl-dev libnetfilter-acct-dev
  24. script: ./coverity-scan.sh || echo "Coverity failed :("
  25. env: INSTALL_COVERITY="true"
  26. if: type = cron
  27. - stage: build
  28. name: OSX
  29. install: brew install fakeroot ossp-uuid
  30. script: fakeroot ./netdata-installer.sh --install $HOME --dont-wait --dont-start-it
  31. os: osx
  32. - name: ubuntu 14.04 (not containerized)
  33. install: sudo apt-get install -y libcap2-bin zlib1g-dev uuid-dev fakeroot
  34. script: fakeroot ./netdata-installer.sh --dont-wait --dont-start-it --install $HOME
  35. - name: alpine + lifecycle
  36. script: docker run -it -v "${PWD}:/code:rw" -w /code "netdata/os-test:alpine" ./tests/lifecycle.sh
  37. - name: ubuntu 18.04
  38. script: docker run -it -v "${PWD}:/code:rw" -w /code "netdata/os-test:ubuntu1804" ./netdata-installer.sh --dont-wait --dont-start-it --install /tmp
  39. - name: CentOS 7
  40. script: docker run -it -v "${PWD}:/code:rw" -w /code "netdata/os-test:centos7" ./netdata-installer.sh --dont-wait --dont-start-it --install /tmp
  41. - name: CentOS 6
  42. script: docker run -it -v "${PWD}:/code:rw" -w /code "netdata/os-test:centos6" ./netdata-installer.sh --dont-wait --dont-start-it --install /tmp
  43. - stage: packaging
  44. name: Create release
  45. install:
  46. - sudo apt-get install -y gnupg libcap2-bin zlib1g-dev uuid-dev fakeroot python-pip
  47. - sudo apt install -y --only-upgrade docker-ce
  48. - docker info
  49. before_script: sudo pip install git-semver
  50. script: ".travis/releaser.sh && .travis/labeler.sh" # labeler should be replaced with GitHub Actions when they hit GA
  51. git:
  52. depth: false
  53. - stage: nightlies
  54. name: docker images
  55. install:
  56. - sudo apt update
  57. - sudo apt install -y --only-upgrade docker-ce
  58. - docker info
  59. script: "packaging/docker/build.sh"
  60. env: REPOSITORY="netdata/netdata"
  61. - name: tarball and self-extractor build
  62. install: sudo apt-get install -y gnupg libcap2-bin zlib1g-dev uuid-dev fakeroot
  63. script: ".travis/create_artifacts.sh"
  64. deploy:
  65. provider: gcs
  66. access_key_id: GOOGOJOHYBTPOGXLXMYVRE2H
  67. secret_access_key:
  68. secure: MWzWydVG2WJ+5S7bVQYHCcLTiC5s5l2yB3zb/E/HJUIjvv9AFZRsLmjS20umho+4MPK6dXJpI0IzWhW8V54cfFwyPHCeHGO+CBaREmWJJHQn53oiugLoFMlngSFzSAx9BGT1dfeJPxGQm1rqYk2ohLPfuKd1ORoEMK8fgnihmsn3GtNOhiJmmKyzppoottvihQBRhgy8aghkpd+3x1nKhQFeOcCvUwk6rWW4MBdRK3j6Nk3+Tlh/8s6p+FPwbIB63g9SPYBetBLvqp0ftleoUXY0Fy+tN4pR8CnhXHI4IJcesffa6JMxrQtx0CQJQrlxtRrDib0s+2zOw+wUlLfJcVMV+lyd6wvg4ltiQBYrNewA0ORmYYZVqd8ysZ8yXkQVNLkga15DNHV6uLlRkDny1xiT7buSHQc/xlT11ygOPfFJI4hMJbVSRyl+ChYsV5bJ0MBAOhH3AbBY//RZHWSed5oXugmlV6FKXcfbJOiAYPiVMjWpGVGqQexzQvbCfSNCERCTgKqAI3cFGXaiLOhvzkb0mdT4eOdvkzcWju6ucXiwnd1lNYN4ucKcazGjOL8vy5WfT0AKVlvBq7KtlQJ2vXJ1hJ2/ZOg8o88WyRBiiyMDxMBicSx6VNZhu2s2JFBPdaHxOoFcZjw9FLv04BA7GeUh0WGvasoSCA4mNIZz+PY=
  69. bucket: "netdata-nightlies"
  70. skip_cleanup: true
  71. file_glob: true
  72. file: "netdata*.tar.gz"
  73. - name: changelog generation
  74. script: ".travis/generate_changelog.sh"
  75. env: COMMIT_AND_PUSH=1
  76. git:
  77. depth: false
  78. notifications:
  79. webhooks: https://app.fossa.io/hooks/travisci
  80. slack:
  81. rooms:
  82. - secure: "NuW1p7s+WGLcyhEceeiLRSV1JgAc6N47zgdSsYoxrjSFRQHDfc8jensypDcEJwgs1K2Hcve9iKRaAddEHEw7AkS6rie9gFR5HmmbKXfW2GFMqOr6maYTFsvaECPqiWk1n9/XnRLsAi5kZ8HxH+a8ldb/eaVoFQesY1jPXgh11BM5DwvpXjEtwg0WGASsKiymvnXFS3KcC+sR7Lln2GX1a8vfCX2I3TEmOedKMlSHUy5JilGGC3AWA0SWS8tR8PUH0u3dHL5j0RNIr1RO3Yx24QgUpg/YpvKymnW/iIIEOq2vb2mBhhiKEQjJ1djUL4VSPzjIDpUzThVpKaHk3syOp6W9qZEHKhR/sqjc5Yk2XRjsw1cM0nS60gaCgxtKhEMKWcjtvWf04oJAVrmcUwcYXj0eA+jgRCZl5VhyufK/fUJavjOfsQGjwhdjxQfwDCw33W17ypJUt4GZngdb6jbIhEOcKHSLQDu1vuHTw82hJJkthkmR59PX30qJdl/MEGcfVLdN/fkCokjR/qwfmkNwQm+wYSKsK/Jq4RgBT0/oZwY3e8nkCq2ov7lBbDO3/0rzQKWZ9Uy//tnoCM3vGhDwGHQxsHshv7g6KwdhYTcmm7WWWIucfLupcjFUO1HbRuJ+7ZnvxRRwKiV+MGkFT2SNJkS8q1/jCu9KGbmktd0WUSE="