123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- ---
- 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.12'
- - 'alpine:3.11'
- - 'alpine:3.10'
- - 'alpine:3.9'
- - 'archlinux:latest'
- - 'centos:8'
- - 'centos:7'
- - 'clearlinux:latest'
- - 'debian:10'
- - 'debian:9'
- - 'fedora:33'
- - 'fedora:32'
- - 'opensuse/leap:15.2'
- - 'opensuse/leap:15.1'
- - '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.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: 'alpine:3.9'
- 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/leap:15.1'
- 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"
|