- GITHUB_TOKEN - GitHub token with push access to repository
- DOCKER_USERNAME - Username (netdatabot) with write access to docker hub repository
- DOCKER_PASSWORD - Password to docker hub
- encrypted_8daf19481253_key - key needed by openssl to decrypt GCS credentials file
- encrypted_8daf19481253_iv - IV needed by openssl to decrypt GCS credentials file
- COVERITY_SCAN_TOKEN - Token to allow coverity test analysis uploads
Unit tests and coverage tests are executed here. Stage consists of 2 parallel jobs:
- C tests - executed every time
- dashboard.js - test if source files create the same file as it is in current repo
- coverity test - executed only when pipeline was triggered from cron
Stage is executed every time and consists of 5 parallel jobs which execute containerized and non-containerized installations of netdata. Jobs are run on following operating systems:
- OSX
- ubuntu 14.04
- ubuntu 16.04 (containerized)
- CentOS 6 (containerized)
- CentOS 7 (containerized)
- alpine (containerized)
Images for system containers are stored on dockerhub and are created from Dockerfiles located in netdata/helper-images repository.
This stage is executed only on "master" brach and allows us to create a new tag just looking at git commit message.
It executes one script called releaser.sh
which is responsible for creating a release on GitHub by using
hub. This script is also executing other scripts which can also be used in other
CI jobs:
.travis/tagger.sh
.travis/generate_changelog.sh
packaging/docker/build.sh
.travis/create_artifacts.sh
Alternatively new release can be also created by pushing new tag to master branch.
Additionally this step is also executing .travis/labeler.sh
which is a temporary workaround to automatically label
issues and PR. This script should be replaced with GitHub Actions when they are available to public.
Script responsible to find out what will be the next tag based on a keyword in last commit message. Keywords are:
[netdata patch release]
to bump patch number[netdata minor release]
to bump minor number[netdata major release]
to bump major number[netdata release candidate]
to create a new release candidate (appends or modifies suffix-rcX
of previous tag) All keywords MUST be surrounded with square brackets. Tag is then stored inGIT_TAG
variable.
Automatic changelog generator which updates our CHANGELOG.md file based on GitHub features (mostly labels and pull requests). Internally it uses github-changelog-generator and more information can be found on that project site.
Scripts used to build new container images and provide release artifacts (tar.gz and makeself archives)
As names might suggest those two jobs are responsible for nightly netdata package creation and are run every day (in cron). Combined they produce:
- docker images
- tar.gz archive (soon to be removed)
- self-extracting package
This is achieved by running 2 scripts described earlier:
create_artifacts.sh
build.sh
Artifacts are pushed to GCS and container images are stored in docker hub.
This job is responsible for regenerating changelog every day by executing generate_changelog.sh
script. This is done
only once a day due to github rate limiter.