--- name: Builder on: push: branches: - master pull_request: jobs: static-build: name: Build (x86_64) runs-on: ubuntu-latest steps: - name: Git clone repository uses: actions/checkout@v2 - run: | git fetch --prune --unshallow --tags - name: Build run: | .github/scripts/build-static-x86_64.sh source-build: name: Build & Install strategy: fail-fast: false matrix: distro: - 'alpine:edge' - 'alpine:3.11' - 'alpine:3.10' - 'alpine:3.9' - 'archlinux:latest' - 'centos:8' - 'centos:7' - 'clearlinux:latest' - 'debian:bullseye' - 'debian:buster' - 'debian:stretch' - 'debian:jessie' - 'fedora:32' - 'fedora:31' - 'opensuse/leap:15.2' - 'opensuse/leap:15.1' - 'opensuse/tumbleweed:latest' - 'ubuntu:20.04' - 'ubuntu:19.10' - 'ubuntu:18.04' - 'ubuntu:16.04' include: - distro: 'alpine:edge' pre: 'apk add -U bash' rmjsonc: 'apk del json-c-dev' - distro: 'alpine:3.11' pre: 'apk add -U bash' rmjsonc: 'apk del json-c-dev' - distro: 'alpine:3.10' pre: 'apk add -U bash' rmjsonc: 'apk del json-c-dev' - distro: 'alpine:3.9' pre: 'apk add -U bash' rmjsonc: 'apk del json-c-dev' - distro: 'archlinux:latest' pre: 'pacman --noconfirm -Sy grep libffi' - distro: 'centos:8' rmjsonc: 'dnf remove -y json-c-devel' - distro: 'debian:bullseye' pre: 'apt-get update' rmjsonc: 'apt-get remove -y libjson-c-dev' - distro: 'debian:buster' pre: 'apt-get update' rmjsonc: 'apt-get remove -y libjson-c-dev' - distro: 'debian:stretch' pre: 'apt-get update' rmjsonc: 'apt-get remove -y libjson-c-dev' - distro: 'fedora:32' rmjsonc: 'dnf remove -y json-c-devel' - distro: 'fedora:31' rmjsonc: 'dnf remove -y json-c-devel' - distro: 'opensuse/leap:15.2' rmjsonc: 'zypper rm -y libjson-c-devel' - distro: 'opensuse/leap:15.1' rmjsonc: 'zypper rm -y libjson-c-devel' - distro: 'opensuse/tumbleweed:latest' rmjsonc: 'zypper rm -y libjson-c-devel' - distro: 'ubuntu:20.04' pre: 'apt-get update' rmjsonc: 'apt-get remove -y libjson-c-dev' - distro: 'ubuntu:19.10' pre: 'apt-get update' rmjsonc: 'apt-get remove -y libjson-c-dev' - distro: 'ubuntu:18.04' pre: 'apt-get update' rmjsonc: 'apt-get remove -y libjson-c-dev' - distro: 'ubuntu:16.04' pre: 'apt-get update' rmjsonc: 'apt-get remove -y libjson-c-dev' runs-on: ubuntu-latest steps: - name: Git clone repository uses: actions/checkout@v2 - name: install-required-packages.sh on ${{ matrix.distro }} env: PRE: ${{ matrix.pre }} RMJSONC: ${{ matrix.rmjsonc }} run: | echo $PRE > ./prep-cmd.sh echo $RMJSONC > ./rmjsonc.sh docker build . -f .github/dockerfiles/Dockerfile.build_test -t test --build-arg BASE=${{ matrix.distro }} - name: Regular build on ${{ matrix.distro }} run: | docker run -w /netdata test /bin/sh -c 'autoreconf -ivf && ./configure && make -j2' - name: netdata-installer on ${{ matrix.distro }}, disable cloud run: | docker run -w /netdata test /bin/sh -c './netdata-installer.sh --dont-wait --dont-start-it --disable-cloud' - name: netdata-installer on ${{ matrix.distro }}, require cloud run: | docker run -w /netdata test /bin/sh -c './netdata-installer.sh --dont-wait --dont-start-it --require-cloud' - name: netdata-installer on ${{ matrix.distro }}, require cloud, no JSON-C if: matrix.rmjsonc != '' run: | docker run -w /netdata test \ /bin/sh -c '/netdata/rmjsonc.sh && ./netdata-installer.sh --dont-wait --dont-start-it --require-cloud'