--- 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.13' - 'alpine:3.12' - 'alpine:3.11' - 'alpine:3.10' - 'archlinux:latest' - 'centos:8' - 'centos:7' - 'clearlinux:latest' - 'debian:10' - 'debian:9' - 'fedora:33' - 'fedora:32' - 'opensuse/leap:15.2' - 'opensuse/tumbleweed:latest' - 'ubuntu:20.10' - 'ubuntu:20.04' - 'ubuntu:18.04' - 'ubuntu:16.04' include: - distro: 'alpine:edge' pre: 'apk add -U bash' rmjsonc: 'apk del json-c-dev' - distro: 'alpine:3.13' pre: 'apk add -U bash' rmjsonc: 'apk del json-c-dev' - distro: 'alpine:3.12' 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: 'archlinux:latest' pre: 'pacman --noconfirm -Syu && pacman --noconfirm -Sy grep libffi' - distro: 'centos:8' rmjsonc: 'dnf remove -y json-c-devel' - distro: 'debian:10' pre: 'apt-get update' rmjsonc: 'apt-get remove -y libjson-c-dev' - distro: 'debian:9' pre: 'apt-get update' rmjsonc: 'apt-get remove -y libjson-c-dev' - distro: 'fedora:33' rmjsonc: 'dnf remove -y json-c-devel' - distro: 'fedora:32' rmjsonc: 'dnf remove -y json-c-devel' - distro: 'opensuse/leap:15.2' rmjsonc: 'zypper rm -y libjson-c-devel' - distro: 'opensuse/tumbleweed:latest' rmjsonc: 'zypper rm -y libjson-c-devel' - distro: 'ubuntu:20.10' pre: 'apt-get update' rmjsonc: 'apt-get remove -y libjson-c-dev' - distro: 'ubuntu:20.04' 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 && chmod +x ./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' aws-kinesis-build: name: With AWS Kinesis SDK strategy: fail-fast: false matrix: distro: - 'centos:8' - 'debian:buster' - 'fedora:32' - 'ubuntu:20.04' include: - distro: 'centos:8' pre: >- yum -y update && yum -y groupinstall 'Development Tools' && yum -y install libcurl-devel openssl-devel libuuid-devel build_kinesis: >- git clone https://github.com/aws/aws-sdk-cpp.git && cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_ONLY=kinesis ./aws-sdk-cpp && make && make install - distro: 'debian:buster' pre: >- apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential && DEBIAN_FRONTEND=noninteractive apt-get install -y libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev libpulse-dev build_kinesis: >- git clone https://github.com/aws/aws-sdk-cpp.git && cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_ONLY=kinesis ./aws-sdk-cpp && make && make install - distro: 'fedora:32' pre: >- dnf -y update && dnf -y groupinstall 'Development Tools' && dnf -y install libcurl-devel openssl-devel libuuid-devel build_kinesis: >- git clone https://github.com/aws/aws-sdk-cpp.git && cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_ONLY=kinesis ./aws-sdk-cpp && make && make install - distro: 'ubuntu:20.04' pre: >- apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential && DEBIAN_FRONTEND=noninteractive apt-get install -y libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev libpulse-dev build_kinesis: >- git clone https://github.com/aws/aws-sdk-cpp.git && cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_ONLY=kinesis ./aws-sdk-cpp && make && make install 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 }} BUILD_KINESIS: ${{ matrix.build_kinesis }} run: | echo $PRE > ./prep-cmd.sh echo $BUILD_KINESIS > ./build-kinesis.sh && chmod +x ./build-kinesis.sh docker build . -f .github/dockerfiles/Dockerfile.build_test -t test --build-arg BASE=${{ matrix.distro }} - name: Build on ${{ matrix.distro }} env: RUNCMD: >- ./build-kinesis.sh && ./netdata-installer.sh --dont-wait --dont-start-it --enable-backend-kinesis run: | docker run -w /netdata test \ /bin/sh -c "$RUNCMD"