summaryrefslogtreecommitdiffstats
path: root/.travis.yml
AgeCommit message (Collapse)Author
2020-01-16Move the script for installing required packages into the main repo. (#7563)Austin S. Hemmelgarn
* Move the script for installing required packages into the main repo. Based on discussion with Costa. Most of what this script is actually used for directly is in the main repo anyway, so it makes more sense to have it there so that any changes get reviewed properly. * Fix typo in RPM package build setup.
2020-01-14.travis.yml: Reduce notifications (#7714)Konstantinos Natsakis
2020-01-08Switch PR labeling to use GitHub Actions. (#7630)Austin S. Hemmelgarn
This decouples the PR labeling process from the main CI process, allowing them to run completely independenly of each other. The new labeling configuration is based on copying, extending, and correcting the existing labeling rules in the `labeler.sh` script which the commit is removing. Labeling is configured through `.github/labeler.yml` file. Check there for info on the exact format. The exact configuration being used will update labels on PR's whenever one is opened, updated, reopened, or marked ready for review. It will not remove existing labels from the PR, only add new ones.
2020-01-03Remove EOL distros from CI jobs. (#7628)Austin S. Hemmelgarn
* Remove Fedora 28 from the lifecycle checks. It's been EOL since 2019-05-28, and anybody continuing to use it is recieving no support from upstream _or_ the Fedora community. * Remove Ubuntu 18.10 from package builds. It's been EOL since 2019-07-18, and anybody continuing to use it is recieving no support from upstream or the Ubuntu community. * Update docs.
2020-01-02Add Ubuntu 19.10 to packaging and lifecycle checks. (#7629)Austin S. Hemmelgarn
* Add Ubuntu 19.10 to packaging and lifecycle checks. It's been out since 2019-10-07. * Update docs.
2020-01-02Limit 'support activities on main branch' to main repo. (#7543)Austin S. Hemmelgarn
This adds a check to prevent the 'Support activities on main branch' stage from running on forked repos. In such repos, it will automatically fail without special effort from the user, requiring them to carry local patches on their master branch. Without this, CI builds of the 'master' branch will fail for users who do not go through the effort of setting up the custom patches to disable this stage in their repo.
2019-12-20packaging: Set default release channel to stable for gh releases (#7399)Mansour Behabadi
* packaging: Set default release channel to stable for gh releases * Leave kickstart files alone * Update .travis/create_artifacts.sh Co-Authored-By: Konstantinos Natsakis <5933427+knatsakis@users.noreply.github.com> Co-authored-by: Mansour Behabadi <mansour@oxplot.com> Co-authored-by: Konstantinos Natsakis <5933427+knatsakis@users.noreply.github.com>
2019-12-19Skip unit testing during CI when it's not needed. (#7559)Austin S. Hemmelgarn
* Skip unit testing during CI when it's not needed. Our current unit testing takes almost 20 minutes on average during the CI process, which is almost twice as long as any other step, and it's only going to get longer as we get better test coverage. This commit slightly alters how we handle unit testing during CI so that only those unit tests which are actually needed get run. This is achieved by using the `$TRAVIS_COMMIT_RANGE` environment variable provided by Travis to determine which commits we're actually testing, and then using that information to query Git for what files actually changed. As of right now, the only unit testing we're doing is in the dbengine code, so we check to see if any of those files or the C unit testing files are modified by the PR and only runs the unit tests for those if they were modified. The checks are a bit more wide-ranging than they probably need to be so that we make sure to avoid any false negatives. This should speed up CI checks for PR's (as well as not monopolizing the master branch after every PR that gets merged). * Restructure to better handle PR's. The previous code did not work correctly with PR's because it ignored the fact that Travis does not appear to report the full list of commits for a PR in `TRAVIS_COMMIT_RANGE`, instead only reporting the most recent set of commits that were pushed. * Add listing of commits being checked. This will allow for verification of what is being tested, making it easier to spot issues with the detection logic. * Don't assume PR's are targeting the master branch.
2019-12-17Merge the matrix and jobs keys in Travis config. (#7544)Austin S. Hemmelgarn
The `matrix` key is officially deprecated and gets auto-merged with the `jobs` key during config parsing. If this auto-merging occurs, then the config will fail config validation, which will in turn cause odd failues during the build because of how Travis handles config validation (namely, it falls back to a default config for the detected language). This change allows us to enable the Config Validation feature in Travis, which will in turn cause the build to fail very quickly if the configuration is invalid in some way.
2019-12-17Add Fedora 31 CI integrations. (#7524)Austin S. Hemmelgarn
* Add a job to build and publish Fedora 31 RPMs Fedora 31 was released on 2019-10-29. * Also enable Fedora 31 lifecycle checks. Previously disabled because Fedora 31 was not yet released at the time.
2019-12-13Minor docker related cleanups (#7240)Konstantinos Natsakis
* .travis.yml: Do not define docker service It is already there for the bionic image * .travis.yml: Do not attempt to upgrade docker-ce package It is already in the latest version for bionic image * .travis.yml: Do not run docker info Travis runs docker version by default
2019-12-12.travis.yml: Add timestamps to output (#7239)Konstantinos Natsakis
* .travis.yml: Add timestamps to output * .travis.yml: Use '%H:%M:%.S' intead of '%.T' Because %.T is not availabe in moreutils 0.60-1 * .travis.yml: Add timestamps to stderr as well * .travis.yml: Add extra space to timestamp format for better readability
2019-12-10ci: remove ubuntu trusty 14.04 from build (#7481)Mansour
* ci: remove ubuntu trusty 14.04 from build * Update packaging matrix with ubuntu 14.04 changes
2019-12-04.travis.yml: Remove CentOS 6 package building and lifecycle tests (#7425)Konstantinos Natsakis
2019-11-14Updating the Travis pipeline (issue 7189) (#7312)Andrew Moss
Added a linting pass. This is non-blocking but will output a measure of how much each .c and .h file deviates from our current .clang format. Changed the standard build to include all of the warning that we are using in dev. Added the dependencies for dbengine and confirmed that the standard build enables dbengine. Fixed the original warnings.
2019-11-01.travis.yml: Prevent nightly jobs from timing out (again) (#7238)Konstantinos Natsakis
* .travis.yml: Add tick() and retry() functions * .travis.yml: Remove superfluous 'docker info' commands The docker info command is ran during the install phase. There is no need to run it again * .travis.yml: Use the tick() function instead of travis_wait()
2019-10-30.travis.yml: Increase timeout for docker image builds to 20 minutes (#7214)Konstantinos Natsakis
2019-10-16Run the trigger for deb and rpm package build in separate stage (#7105)Konstantinos Natsakis
2019-10-10Move call to set_tag_for_release [ci skip]Chris Akritidis
Build was failing, because where the function is called, we have only cloned the last 50 commits.
2019-09-23netdata/ci: nits and fixes around package release workflow (#6914)Paul Emm. Katsoulakis
* netdata/packaging: bring el/6 first, because this appears on all cases. Otherwise travis craps out the steps * netdata/ci: Attempt to sanitise workflow for master branch commits 1) Rename Packaging for release, now named: Support activities on main branch 2) Adjust instruction messages to reflect more realistically the activities 3) Put labeler first on the stage, since this will always run 4) Make changelog and tag for release conditionally run, so that it does not confuse people * netdata/ci: Sanitise workflow for release more (explained below) We need to clean up tagging logic more and in order to do this we need to bring tagger logic to travis.yml Then we have the complete control of tagging and triggering for changelog generation in travis. To mitigate this, we need to: 1) make tagger script a lirbary. Keep the tagging logic in a method and remove the things needed when it was an executable (checks, executions etc) 2) make travis handle GIT_TAG checking and setting at the beginning. We need this outside of any conditionals so that we have GIT_TAG result available inside the steps 3) COMMIT_TAG_POINTS_AT can now become GIT_TAG, since this is what we actually wanted. We just named differently before to avoid any weird conflicts 4) make changelog generation for release to NOT source tagger any more. Also make it fail in case GIT_TAG is not there, we wont run the script if git tag not in place so that should be error if it happens 5) Rename .travis/generate_changelog_for_release.sh -> .travis/create_changelog_for_release.sh 6) Rename .travis/generate_changelog_and_tag_release.sh -> .travis/generate_changelog_for_release.sh * netdata/ci: reinstate filename here. we basically do the git tag operation here still * netdata/ci: simplify more the changelog generation process 1) Rename create_changelog_for_release.sh -> create_changelog.sh 2) Add comments and the standard path checks in create_changelog.sh 3) Do some minor changes to help diff with nightlies changelog (no functional change though, primarily messages and move flags lower) 4) Inside generate_changelog_for_nightlies.sh, use create_changelog.sh and remove code related to create changelog process 5) in nightlies.sh, use standard shebang adn fix some messages Note: might follow up with more changes, this is just a first batch * netdata/packaging: reinstate accidentally removed OPTS from other iterationns (different engineer)
2019-09-22netdata/ci: fix branch check (#6905)Paul Emm. Katsoulakis
2019-09-22netdata/packaging: remove rhel7 - i386, until its settled from bug #6849 (#6902)Paul Emm. Katsoulakis
2019-09-16netdata/packaging: Introduce separate CUPS package for debian distributions ↵Paul Emm. Katsoulakis
(#6724) * netdata/packaging: baby steps, create the new package and introduce the install file * netdata/packaging: [ci skip] change branch to be able to test * netdata/packaging: we do define usrlib path to be /usr/lib * netdata/packaging: silence sign errors for now * netdata/packaging: Add rules for plugin-cups sub package * netdata/packaging: [ci skip] That is libexec, not lib, duh * netdata/packaging: [ci skip] explicitly arrange the other plugins also * netdata/packaging: [ci skip] fix bug * netdata/packaging: copy, dont move * netdata/packaging: move all plugins around, also remove a slash * netdata/packaging: [ci skip] align travis.yml changes with the ones we used on rpm cups pkg split * netdata/packaging:[ci skip] add netdata dependency * netdata/packaging:[ci skip] Update control files * netdata/packaging: Add separate control file for buster, dependencies deviate (libprotoc17 instead of libprotoc10....) * netdata/packaging: [ci skip] whoops * netdata/packaging: [ci skip] Copy over files from temp dir, if destination non existent * netdata/packaging:[ci skip] -d, not -f * netdata/packaging: [ci skip] long shot * netdata/packaging: [ci skip] revert this - need to retest * netdata/packaging: [ci skip] remove the .install, as per an article input (https://askubuntu.com/questions/660373/dh-install-fails-with-missing-files) these files are for handling items not managed by the upstream build system, so bye bye * netdata/packaging: Ok, lets ditch dh_auto_configure * Revert "netdata/packaging: Ok, lets ditch dh_auto_configure" This reverts commit 3b497cf5f6e157ce5429ffce38452515670a934a. Well, that didn't affect anything * netdata/packaging: [ci skip] here's a crazy thought Okay, assuming that packager decided to use debian/tmp because we introduced multiple packages. If that is the case, then move the custom stuff out first and then just move all debian/tmp to debian/netdata. In theory, that should get me back on track for the rest of the package processing. Lets see if i was right * netdata/packaging: [ci skip] mv complains, forgot about that, fix forgot about that, just copy for now to verify the use case and we will consider rsync approach for faster processing afterwards * netdata/packaging: nope, that didn't work. rollback and remove also a suspicious backslash * netdata/packaging: ok, trying this * netdata/packaging: really? * netdata/packaging: [ci skip] reinstate original setup, the bug probably was too obvious to spot * netdata/packaging:[ci skip] now that you finally noted the www bug, try to copy over the rest of the stuff in * netdata/packaging: [ci skip] long shot, etc is not properly created, lets see if it was already there and we messed it up * netdata/packaging: [ci skip] fix perms, add placeholder folders in etc * netdata/packaging: [ci skip] preserve ownership details when copying over * netdata/packaging:[ci skip] reinstate branch condition * netdata/packaging: redudant * netdata/packaging: xenial - add cups subpackage * netdata/packaging: remove cups dependency from those distros, missed to update the control file * netdata/packaging: dont use personal account info
2019-09-12netdata/packaging: no need to overengineer with these checks. The stage is ↵Paul Emm. Katsoulakis
triggered only on specific keyword, that should be enough (#6834)
2019-09-12netdata/ci: second batch of fixes for coverity scan script and others (#6804)Paul Emm. Katsoulakis
* netdata/ci: fine grain coverity scan toolkit 1) Deprecate coverity-install.sh 2) add set -e to raise errors more aggressively when something is wrong 3) refactor some variable definitions for temp and install paths, use mktemp and clean up temp dir when all ok * netdata/ci: reduce the scope * netdata/ci: require curl * netdata/ci: go soft on functions loading * netdata/ci: allow override of build version without touching the script * netdata/ci: handle shellcheck errors, some were silenced because we dont handle them * netdata/ci: coverity scan, parse any extra options other than --with-install and pass them to configure 1) add default configure arguments if no extras are given 2) parse all possible arguments individually, handle --with-install and pass the rest to scanit * netdata/ci: focus, argument parsing in one place a bit more consistently * netdata/ci: prepare for using * netdata/ci: coverity - add more flags, adjust deps list 1) Add with math and with zlib flags on the script 2) add xenstat dependencies 3) run in coverity with custom flags, so that we add xenstat (no need to be by default for the users of the script) * netdata/packaging: add xen-utils also * test the flow * netdata/ci: dont forget to go back to the original directory * netdata/ci: please, travis, stop it * netdata/ci: how about this then * netdata/ci: silence that, we cant call it otherwise * netdata/packaging: update documentation around xenstat on centos * netdata/packaging: dont enable xenstat at this stage * netdata/ci: add += instead of variable reusage
2019-09-11netdata/ci: Force last good version of git-semver, they broke it (#6820)Paul Emm. Katsoulakis
2019-09-09netdata/packaging: remove fedora/28, is no longer available as unsupported ↵Paul Emm. Katsoulakis
(#6808)
2019-09-03netdata/packaging: Trigger stable package generation upon release process ↵Paul Emm. Katsoulakis
(#6766) enable auto-generation of packages for RPM and DEB, during stable release
2019-09-02netdata/packaging: Add python3-lxc dependency too, different package for ↵Paul Emm. Katsoulakis
different version (#6753)
2019-09-01netdata/packaging: [ci skip] lxc for python on a different package for 1804Pavlos Emm. Katsoulakis
2019-09-01netdata/ci: [ci skip] add protobuf compilerPavlos Emm. Katsoulakis
2019-09-01netdata/ci: [ci skip] Use newer environmentPavlos Emm. Katsoulakis
2019-08-31netdata/packaging: more depsPavlos Emm. Katsoulakis
2019-08-31netdata/ci: Use sudo for apt-getPavlos Emm. Katsoulakis
2019-08-31netdata/ci: non-interactivePavlos Emm. Katsoulakis
2019-08-31netdata/packaging: Update depedency preparation for newly introduced ↵Pavlos Emm. Katsoulakis
coverity scanning
2019-08-30netdata/packaging: fix coverity problem in travis (2 issues) (#6743)Paul Emm. Katsoulakis
1) Add slack notification when things fail, we dont want to silently fail it 2) Change the tarball version, seems we now downloading a different version
2019-08-29.travis.yml: Improve template readability (#6673)Konstantinos Natsakis
2019-08-29.travis.yml: packaging/docker/check_login.sh can cause the build to fail (#6655)Konstantinos Natsakis
Make packaging/docker/check_login.sh serve it's purpose and have the ability to cancel the build promptly.
2019-08-29netdata/packaging: Add purging logic for package cloud repositories (#6732)Paul Emm. Katsoulakis
* netdata/packaging: Add purging logic for package cloud repositories 1) Introduce scriptlet that is executing the cleanup on a designated repository, with a designated retention period 2) Add .travis.yml configuration to execute purging logic with the right config on the nightly operations * netdata/packaging: uncomment the temp dir clean up * netdata/packaging: fix codacy * netdata/packaging: [ci skip] Purge only -edge and -devel packages
2019-08-28netdata/packaging: [ci skip] Add xenial build processPavlos Emm. Katsoulakis
2019-08-28netdata/packaging: [ci skip] Add trusty build processPavlos Emm. Katsoulakis
2019-08-22.travis.yml: Build docker images in parallel (#6672)Konstantinos Natsakis
* packaging/docker/{build,publish}.sh: Ability to externally defined ARCHS * .travis.yml: Run docker build and release jobs in parallel
2019-08-19netdata/packaging: fix script naming, rpm was not accurate on that contexTPavlos Emm. Katsoulakis
2019-08-19netdata/ci: [ci skip] Remove Fedora/31, still unstablePavlos Emm. Katsoulakis
2019-08-16netdata/packaging: [ci skip] Remove a stale command, also use git depth ↵Pavlos Emm. Katsoulakis
false for full repo retrieval
2019-08-16netdata/packaging: [ci skip] fix syntax and wordingPavlos Emm. Katsoulakis
2019-08-16netdata/packaging: Add auto-generation of packages for nightly (#6675)Paul Emm. Katsoulakis
force pushing before approvals, i will be closely monitoring the effect by triggering nightlies on demand and evaluate the result
2019-08-12.travis.yml: Remove 'sudo: true' as it is now deprecated (#6624)Konstantinos Natsakis
Travis CI deprecated the sudo tag as explained here: https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration and here: https://changelog.travis-ci.com/linux-builds-run-on-vms-by-default-77106
2019-08-09netdata/packaging: Bare OS validations (#6574)Paul Emm. Katsoulakis
* netdata/packaging: complete the list of bare OS validations, to be extra sure all cases are covered * netdata/packaging: centos 6 has a different release file * netdata/ci: [ci skip] no centos 8 yet * netdata/ci: [ci skip] dont run for Debian 7 - its dead * trigger travis * netdata/ci: remove Debian 8 as bats not available with the standard repos - we will revisit our strategy on how we execute tests anyway