--- dist: trusty sudo: true # C includes autotools and make by default language: c services: - docker stages: - lint - test - build - name: release if: branch = master AND type != pull_request - name: package if: branch = master AND type != pull_request jobs: include: - stage: "lint" name: "python" install: skip script: docker run -ti --rm -v $(pwd):/apps alpine/flake8:3.5.0 --max-line-length=120 --exclude=third_party,urllib3,pyyaml3,pyyaml2 python.d/ plugins.d/python.d.plugin - name: "javascript" install: skip script: docker run -it --rm -v $(pwd)/web:/code eeacms/jslint --color /code/web/*.js /code/plugins.d/node.d.plugin/*.js /code/node.d/*.js /code/node.d/node_modules/netdata.js - name: "css" install: skip script: docker run --rm -v $(pwd)/web:/code eeacms/csslint sh -c "csslint /code/*.css" || echo "OK" - name: "bash" install: skip script: docker run --rm --volume "$(pwd)":/project:ro --entrypoint sh koalaman/shellcheck-alpine:v0.5.0 -c 'for file in $(find /project/ -type f -name "*.sh" ! -path "*/makeself/*" ); do if ! shellcheck --format=gcc $file; then export FAILED=true; fi; done; if [ "$FAILED" != "" ]; then exit 1; fi' - stage: "test" name: "C" install: sudo apt-get install -y libcap2-bin zlib1g-dev uuid-dev fakeroot libipmimonitoring-dev libmnl-dev libnetfilter-acct-dev 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 env: CFLAGS='-O1 -DNETDATA_INTERNAL_CHECKS=1 -DNETDATA_VERIFY_LOCKS=1' # env: CFLAGS='-O1 -ggdb -Wall -Wextra -Wformat-signedness -fstack-protector-all -DNETDATA_INTERNAL_CHECKS=1 -D_FORTIFY_SOURCE=2 -DNETDATA_VERIFY_LOCKS=1' # - name: "Node.js" # script: tests/run_nodejs.sh - name: "coverity" install: sudo apt-get install -y zlib1g-dev uuid-dev libipmimonitoring-dev libmnl-dev libnetfilter-acct-dev script: ./coverity-scan.sh || echo "Coverity failed :(" env: INSTALL_COVERITY="true" if: type = cron - stage: "build" name: "OSX" install: brew install fakeroot ossp-uuid script: fakeroot ./netdata-installer.sh --install $HOME --dont-wait --dont-start-it os: osx - name: "ubuntu 14.04 (not containerized)" install: sudo apt-get install -y libcap2-bin zlib1g-dev uuid-dev fakeroot script: fakeroot ./netdata-installer.sh --dont-wait --dont-start-it --install $HOME - name: "ubuntu 18.04" script: ./.travis/containerized_build.sh ubuntu1804 - name: "CentOS 7" script: ./.travis/containerized_build.sh centos7 - name: "CentOS 6" script: ./.travis/containerized_build.sh centos6 - name: "alpine" script: ./.travis/containerized_build.sh alpine - stage: "release" name: "Create release" script: .travis/releaser.sh - stage: "package" name: "Archive and self-extractor" install: sudo apt-get install -y gnupg libcap2-bin zlib1g-dev uuid-dev fakeroot script: .travis/create_artifacts.sh deploy: - provider: releases draft: true api_key: secure: hbyuWsTshQ8Ixrgla2J6xtBNhQ1OjjaQ7hUEteclHrlx6i8B1ughCdhC3bYE1VGKClmq9mUvuZxcPGDDUaMBoLYTNaFx93IWorlrB29mpeNPd3b+DZqOePBYqU6NCA7PQccEUBkXJrGS44ZNg+pHFVCHMBe99+5u1Dfx/IJW0ojOb9XOfde6p5aL7syYWYXR/Ov/K40QAgpEDhAKUY4T1D/Yyk2ucdh6QsM00aq51F3D1SxIcFXcnBpacD3iGdkd3fM+c9PLMtq47mOicRjJsDnXYV58/upzmR9OPJYBbOPtNy0UKRl3f81cm5O4X3wcUBUMV4AQew8udy06TlWu2SQipGeh0RPDspRrBIqKhPJGX+h4Zyw/9iGvsDPetQqgoAsPqcruKGqNjC538LXr/fi8mur35VcKhmxi6gH7SNbs7TXfVLnrvNGgr6KCcKoLvFMxsJW1fQObVOq2mO+MwH6wQbqfRIo8btu6WVrzI4cYkZomny2i4D5YWVfTYEJ+BSTZCZ/l/RvxEYPUPFGyASxZ1OVCYA2in1JYdiPPMwK4gH66nYJG+ZDeTK5JUlXZAELZSRcDzecOAbi5zS/C3XXiGaHOXZBXjI0Gsw4kDaZn0xGUIzBFvMoSf1SMw5CuJ1kbSIzi4VGU1v85JaCB4znQ4pA4Yvw0/5l/q/B08aI= skip_cleanup: true file_glob: true file: - "netdata*.tar.gz*" - "netdata*.gz.run*" - "sha256sums.txt" on: repo: netdata/netdata tags: true - name: "Docker images" install: sudo apt update -y && sudo apt install -y --only-upgrade docker-ce && docker info script: docker/build.sh env: REPOSITORY="netdata/netdata" if: type = cron OR tag =~ ^v notifications: webhooks: https://app.fossa.io/hooks/travisci