207 lines
7.3 KiB
YAML
207 lines
7.3 KiB
YAML
---
|
|
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 -Syu && 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 && 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:
|
|
# XXX: CentOS 8.x is broken (libjudy)
|
|
# - '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 &&
|
|
apt-get install -y build-essential &&
|
|
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 &&
|
|
apt-get install -y build-essential &&
|
|
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"
|