diff --git a/.github/data/matrices.yaml b/.github/data/matrices.yaml index d2df5b0..e3a1948 100644 --- a/.github/data/matrices.yaml +++ b/.github/data/matrices.yaml @@ -69,11 +69,13 @@ package-builders: - <<: *debian os: debian10 - &fedora - os: fedora40 + os: fedora41 revisions: *pkg-builder-revs platforms: - linux/amd64 - linux/arm64/v8 + - <<: *fedora + os: fedora40 - <<: *fedora os: fedora39 - &opensuse @@ -103,12 +105,14 @@ package-builders: - <<: *rocky os: rockylinux8 - &ubuntu - os: ubuntu24.04 + os: ubuntu24.10 revisions: *pkg-builder-revs platforms: - linux/amd64 - linux/arm/v7 - linux/arm64/v8 + - <<: *ubuntu + os: ubuntu24.04 - <<: *ubuntu os: ubuntu22.04 - <<: *ubuntu diff --git a/package-builders/Dockerfile.fedora41.v1 b/package-builders/Dockerfile.fedora41.v1 new file mode 100644 index 0000000..0e66f48 --- /dev/null +++ b/package-builders/Dockerfile.fedora41.v1 @@ -0,0 +1,74 @@ +FROM fedora:40 + +LABEL org.opencontainers.image.authors="Netdatabot " +LABEL org.opencontainers.image.source="https://github.com/netdata/helper-images" +LABEL org.opencontainers.image.title="Netdata Package Builder for Fedora 40" +LABEL org.opencontainers.image.description="Package builder image for Netdata official RPM packages for Fedora 39" +LABEL org.opencontainers.image.vendor="Netdata Inc." + +ENV VERSION=$VERSION +# Dummy Sentry DSN +ENV SENTRY_DSN="https://1ea0662a@o01e.ingest.sentry.io/dummy" + +RUN dnf distro-sync -y --nodocs && \ + dnf clean -y packages && \ + dnf install -y --nodocs --setopt=install_weak_deps=False --setopt=diskspacecheck=False \ + bash \ + bison \ + cmake \ + cups-devel \ + curl \ + diffutils \ + elfutils-libelf-devel \ + findutils \ + flex \ + freeipmi-devel \ + gcc \ + gcc-c++ \ + git-core \ + json-c-devel \ + libyaml-devel \ + Judy-devel \ + libatomic \ + libcurl-devel \ + libmnl-devel \ + libnetfilter_acct-devel \ + libuuid-devel \ + libuv-devel \ + libzstd-devel \ + lz4-devel \ + make \ + ninja-build \ + openssl-devel \ + openssl-perl \ + patch \ + pcre2-devel \ + pkgconfig \ + 'pkgconfig(libmongoc-1.0)' \ + procps \ + protobuf-c-devel \ + protobuf-compiler \ + protobuf-devel \ + rpm-build \ + rpm-devel \ + rpmdevtools \ + snappy-devel \ + systemd-devel \ + xen-devel \ + zlib-devel && \ + rm -rf /var/cache/dnf && \ + c_rehash && \ + mkdir -p /root/rpmbuild/BUILD /root/rpmbuild/RPMS /root/rpmbuild/SOURCES /root/rpmbuild/SPECS /root/rpmbuild/SRPMS + +COPY package-builders/entrypoint.sh /entrypoint.sh +COPY package-builders/fedora-build.sh /build.sh + +ENV PATH="/usr/local/go/bin:${PATH}" +ADD https://raw.githubusercontent.com/netdata/netdata/master/packaging/check-for-go-toolchain.sh /tmp/check-for-go-toolchain.sh +RUN . /tmp/check-for-go-toolchain.sh && \ + if ! ensure_go_toolchain; then \ + echo "ERROR: ${GOLANG_FAILURE_REASON}" && exit 1 ; \ + fi + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["/build.sh"] diff --git a/package-builders/Dockerfile.fedora41.v2 b/package-builders/Dockerfile.fedora41.v2 new file mode 100644 index 0000000..4b73cc0 --- /dev/null +++ b/package-builders/Dockerfile.fedora41.v2 @@ -0,0 +1,72 @@ +FROM fedora:40 + +LABEL org.opencontainers.image.authors="Netdatabot " +LABEL org.opencontainers.image.source="https://github.com/netdata/helper-images" +LABEL org.opencontainers.image.title="Netdata Package Builder for Fedora 40" +LABEL org.opencontainers.image.description="Package builder image for Netdata official RPM packages for Fedora 39" +LABEL org.opencontainers.image.vendor="Netdata Inc." + +ENV VERSION=$VERSION +# Dummy Sentry DSN +ENV SENTRY_DSN="https://1ea0662a@o01e.ingest.sentry.io/dummy" + +RUN dnf distro-sync -y --nodocs && \ + dnf clean -y packages && \ + dnf install -y --nodocs --setopt=install_weak_deps=False --setopt=diskspacecheck=False \ + bash \ + bison \ + cmake \ + cups-devel \ + curl \ + diffutils \ + elfutils-libelf-devel \ + findutils \ + flex \ + freeipmi-devel \ + gcc \ + gcc-c++ \ + git-core \ + json-c-devel \ + libyaml-devel \ + Judy-devel \ + libatomic \ + libcurl-devel \ + libmnl-devel \ + libnetfilter_acct-devel \ + libuuid-devel \ + libuv-devel \ + libzstd-devel \ + lz4-devel \ + make \ + ninja-build \ + openssl-devel \ + openssl-perl \ + patch \ + pcre2-devel \ + pkgconfig \ + 'pkgconfig(libmongoc-1.0)' \ + procps \ + protobuf-c-devel \ + protobuf-compiler \ + protobuf-devel \ + rpmdevtools \ + snappy-devel \ + systemd-devel \ + systemd-rpm-macros \ + xen-devel \ + zlib-devel && \ + rm -rf /var/cache/dnf && \ + c_rehash + +COPY package-builders/entrypoint.sh /entrypoint.sh +COPY package-builders/cpack-rpm.sh /build.sh + +ENV PATH="/usr/local/go/bin:${PATH}" +ADD https://raw.githubusercontent.com/netdata/netdata/master/packaging/check-for-go-toolchain.sh /tmp/check-for-go-toolchain.sh +RUN . /tmp/check-for-go-toolchain.sh && \ + if ! ensure_go_toolchain; then \ + echo "ERROR: ${GOLANG_FAILURE_REASON}" && exit 1 ; \ + fi + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["/build.sh"] diff --git a/package-builders/Dockerfile.ubuntu24.10.v1 b/package-builders/Dockerfile.ubuntu24.10.v1 new file mode 100644 index 0000000..3b547ca --- /dev/null +++ b/package-builders/Dockerfile.ubuntu24.10.v1 @@ -0,0 +1,83 @@ +FROM ubuntu:24.10 + +LABEL org.opencontainers.image.authors="Netdatabot " +LABEL org.opencontainers.image.source="https://github.com/netdata/helper-images" +LABEL org.opencontainers.image.title="Netdata Package Builder for Ubuntu 24.10" +LABEL org.opencontainers.image.description="Package builder image for Netdata official DEB packages for Ubuntu 24.10" +LABEL org.opencontainers.image.vendor="Netdata Inc." + +ENV EMAIL=bot@netdata.cloud +ENV FULLNAME="Netdata Builder" +ENV VERSION=0.1 + +# This is needed to keep package installs from prompting about configuration. +ENV DEBIAN_FRONTEND=noninteractive +# Dummy Sentry DSN +ENV SENTRY_DSN="https://1ea0662a@o01e.ingest.sentry.io/dummy" + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y --no-install-recommends \ + bison \ + build-essential \ + ca-certificates \ + cmake \ + curl \ + debhelper \ + dpkg-dev \ + flex \ + g++ \ + gcc \ + git-buildpackage \ + git-core \ + libatomic1 \ + libcups2-dev \ + libcurl4-openssl-dev \ + libdistro-info-perl \ + libelf-dev \ + libipmimonitoring-dev \ + libjson-c-dev \ + libyaml-dev \ + libjudy-dev \ + liblz4-dev \ + libmnl-dev \ + libmongoc-dev \ + libnetfilter-acct-dev \ + libpcre2-dev \ + libprotobuf-dev \ + libprotoc-dev \ + libsnappy-dev \ + libsystemd-dev \ + libssl-dev \ + libuv1-dev \ + libxen-dev \ + libzstd-dev \ + make \ + ninja-build \ + patch \ + pkg-config \ + protobuf-compiler \ + systemd \ + uuid-dev \ + wget \ + zlib1g-dev && \ + apt-get clean && \ + c_rehash && \ + rm -rf /var/lib/apt/lists/* + +RUN curl --fail -sSL --connect-timeout 10 --retry 3 https://sentry.io/get-cli/ > /tmp/get-sentry.sh && \ + sh /tmp/get-sentry.sh && \ + rm -f /tmp/get-sentry.sh + +COPY package-builders/entrypoint.sh /entrypoint.sh +COPY package-builders/debian-build.sh /build.sh + +ENV PATH="/usr/local/go/bin:${PATH}" +ADD https://raw.githubusercontent.com/netdata/netdata/master/packaging/check-for-go-toolchain.sh /tmp/check-for-go-toolchain.sh +RUN . /tmp/check-for-go-toolchain.sh && \ + if ! ensure_go_toolchain; then \ + echo "ERROR: ${GOLANG_FAILURE_REASON}" && exit 1 ; \ + fi + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["/build.sh"] diff --git a/package-builders/Dockerfile.ubuntu24.10.v2 b/package-builders/Dockerfile.ubuntu24.10.v2 new file mode 100644 index 0000000..5bc12a7 --- /dev/null +++ b/package-builders/Dockerfile.ubuntu24.10.v2 @@ -0,0 +1,82 @@ +FROM ubuntu:24.10 + +LABEL org.opencontainers.image.authors="Netdatabot " +LABEL org.opencontainers.image.source="https://github.com/netdata/helper-images" +LABEL org.opencontainers.image.title="Netdata Package Builder for Ubuntu 24.10" +LABEL org.opencontainers.image.description="Package builder image for Netdata official DEB packages for Ubuntu 24.10" +LABEL org.opencontainers.image.vendor="Netdata Inc." + +ENV EMAIL=bot@netdata.cloud +ENV FULLNAME="Netdata Builder" +ENV VERSION=0.1 + +# This is needed to keep package installs from prompting about configuration. +ENV DEBIAN_FRONTEND=noninteractive +# Dummy Sentry DSN +ENV SENTRY_DSN="https://1ea0662a@o01e.ingest.sentry.io/dummy" + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y --no-install-recommends \ + bison \ + build-essential \ + ca-certificates \ + cmake \ + curl \ + dpkg-dev \ + file \ + flex \ + g++ \ + gcc \ + git-core \ + libatomic1 \ + libcups2-dev \ + libcurl4-openssl-dev \ + libdistro-info-perl \ + libelf-dev \ + libipmimonitoring-dev \ + libjson-c-dev \ + libyaml-dev \ + libjudy-dev \ + liblz4-dev \ + libmnl-dev \ + libmongoc-dev \ + libnetfilter-acct-dev \ + libpcre2-dev \ + libprotobuf-dev \ + libprotoc-dev \ + libsnappy-dev \ + libsystemd-dev \ + libssl-dev \ + libuv1-dev \ + libxen-dev \ + libzstd-dev \ + make \ + ninja-build \ + patch \ + pkg-config \ + protobuf-compiler \ + systemd \ + uuid-dev \ + wget \ + zlib1g-dev && \ + apt-get clean && \ + c_rehash && \ + rm -rf /var/lib/apt/lists/* + +RUN curl --fail -sSL --connect-timeout 10 --retry 3 https://sentry.io/get-cli/ > /tmp/get-sentry.sh && \ + sh /tmp/get-sentry.sh && \ + rm -f /tmp/get-sentry.sh + +COPY package-builders/entrypoint.sh /entrypoint.sh +COPY package-builders/cpack-deb.sh /build.sh + +ENV PATH="/usr/local/go/bin:${PATH}" +ADD https://raw.githubusercontent.com/netdata/netdata/master/packaging/check-for-go-toolchain.sh /tmp/check-for-go-toolchain.sh +RUN . /tmp/check-for-go-toolchain.sh && \ + if ! ensure_go_toolchain; then \ + echo "ERROR: ${GOLANG_FAILURE_REASON}" && exit 1 ; \ + fi + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["/build.sh"]