diff options
-rw-r--r-- | .github/dockerfiles/Dockerfile.clang | 18 | ||||
-rw-r--r-- | .github/workflows/checks.yml | 9 | ||||
-rwxr-xr-x | netdata-installer.sh | 10 |
3 files changed, 32 insertions, 5 deletions
diff --git a/.github/dockerfiles/Dockerfile.clang b/.github/dockerfiles/Dockerfile.clang new file mode 100644 index 0000000000..62bb019414 --- /dev/null +++ b/.github/dockerfiles/Dockerfile.clang @@ -0,0 +1,18 @@ +FROM debian:buster AS build + +# Disable apt/dpkg interactive mode +ENV DEBIAN_FRONTEND=noninteractive + +# Install all build dependencies +COPY packaging/installer/install-required-packages.sh /tmp/install-required-packages.sh +RUN /tmp/install-required-packages.sh --dont-wait --non-interactive netdata-all + +# Install Clang and set as default CC +RUN apt-get install -y clang && \ + update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100 + +WORKDIR /netdata +COPY . . + +# Build Netdata +RUN ./netdata-installer.sh --dont-wait --dont-start-it --disable-go --require-cloud diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 6cafe2587e..29e2ca5336 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -53,6 +53,15 @@ jobs: autoreconf -ivf; ./configure; make;' + clang-checks: + name: Clang + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Build + run: | + docker build -f .github/dockerfiles/Dockerfile.clang . dist-checks: name: Dist runs-on: ubuntu-latest diff --git a/netdata-installer.sh b/netdata-installer.sh index d529e38c04..fefd6111a1 100755 --- a/netdata-installer.sh +++ b/netdata-installer.sh @@ -535,7 +535,7 @@ build_libmosquitto() { local env_cmd='' if [ -z "${DONT_SCRUB_CFLAGS_EVEN_THOUGH_IT_MAY_BREAK_THINGS}" ]; then - env_cmd="env CFLAGS= CXXFLAGS= LDFLAGS=" + env_cmd="env CFLAGS=-fPIC CXXFLAGS= LDFLAGS=" fi if [ "$(uname -s)" = Linux ]; then @@ -615,7 +615,7 @@ build_libwebsockets() { local env_cmd='' if [ -z "${DONT_SCRUB_CFLAGS_EVEN_THOUGH_IT_MAY_BREAK_THINGS}" ]; then - env_cmd="env CFLAGS= CXXFLAGS= LDFLAGS=" + env_cmd="env CFLAGS=-fPIC CXXFLAGS= LDFLAGS=" fi pushd "${1}" > /dev/null || exit 1 @@ -697,7 +697,7 @@ build_judy() { local env_cmd='' if [ -z "${DONT_SCRUB_CFLAGS_EVEN_THOUGH_IT_MAY_BREAK_THINGS}" ]; then - env_cmd="env CFLAGS= CXXFLAGS= LDFLAGS=" + env_cmd="env CFLAGS=-fPIC CXXFLAGS= LDFLAGS=" fi pushd "${1}" > /dev/null || return 1 @@ -780,7 +780,7 @@ build_jsonc() { local env_cmd='' if [ -z "${DONT_SCRUB_CFLAGS_EVEN_THOUGH_IT_MAY_BREAK_THINGS}" ]; then - env_cmd="env CFLAGS= CXXFLAGS= LDFLAGS=" + env_cmd="env CFLAGS=-fPIC CXXFLAGS= LDFLAGS=" fi pushd "${1}" > /dev/null || exit 1 @@ -851,7 +851,7 @@ bundle_jsonc build_libbpf() { pushd "${1}/src" > /dev/null || exit 1 - run env CFLAGS= CXXFLAGS= LDFLAGS= BUILD_STATIC_ONLY=y OBJDIR=build DESTDIR=.. make install + run env CFLAGS=-fPIC CXXFLAGS= LDFLAGS= BUILD_STATIC_ONLY=y OBJDIR=build DESTDIR=.. make install popd > /dev/null || exit 1 } |