Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add package builders for Fedora 41 and Ubuntu 24.10. #302

Merged
merged 1 commit into from
Sep 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .github/data/matrices.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
74 changes: 74 additions & 0 deletions package-builders/Dockerfile.fedora41.v1
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
FROM fedora:40

LABEL org.opencontainers.image.authors="Netdatabot <[email protected]>"
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

Check warning on line 9 in package-builders/Dockerfile.fedora41.v1

View workflow job for this annotation

GitHub Actions / Build Check (fedora41, v1)

Variables should be defined before their use

UndefinedVar: Usage of undefined variable '$VERSION' More info: https://docs.docker.com/go/dockerfile/rule/undefined-var/

Check warning on line 9 in package-builders/Dockerfile.fedora41.v1

View workflow job for this annotation

GitHub Actions / PR Checks (fedora41, linux/arm64/v8, v1)

Variables should be defined before their use

UndefinedVar: Usage of undefined variable '$VERSION' More info: https://docs.docker.com/go/dockerfile/rule/undefined-var/
# Dummy Sentry DSN
ENV SENTRY_DSN="https://[email protected]/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 && \

Check warning on line 68 in package-builders/Dockerfile.fedora41.v1

View workflow job for this annotation

GitHub Actions / hadolint

[hadolint] reported by reviewdog 🐶 Not following: File not included in mock. Raw Output: message:"Not following: File not included in mock." location:{path:"package-builders/Dockerfile.fedora41.v1" range:{start:{line:68 column:1}}} severity:INFO source:{name:"hadolint" url:"https://github.com/hadolint/hadolint"} code:{value:"SC1091" url:"https://github.com/koalaman/shellcheck/wiki/SC1091"}
if ! ensure_go_toolchain; then \
echo "ERROR: ${GOLANG_FAILURE_REASON}" && exit 1 ; \
fi

ENTRYPOINT ["/entrypoint.sh"]
CMD ["/build.sh"]
72 changes: 72 additions & 0 deletions package-builders/Dockerfile.fedora41.v2
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
FROM fedora:40

LABEL org.opencontainers.image.authors="Netdatabot <[email protected]>"
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

Check warning on line 9 in package-builders/Dockerfile.fedora41.v2

View workflow job for this annotation

GitHub Actions / Build Check (fedora41, v2)

Variables should be defined before their use

UndefinedVar: Usage of undefined variable '$VERSION' More info: https://docs.docker.com/go/dockerfile/rule/undefined-var/

Check warning on line 9 in package-builders/Dockerfile.fedora41.v2

View workflow job for this annotation

GitHub Actions / PR Checks (fedora41, linux/arm64/v8, v2)

Variables should be defined before their use

UndefinedVar: Usage of undefined variable '$VERSION' More info: https://docs.docker.com/go/dockerfile/rule/undefined-var/
# Dummy Sentry DSN
ENV SENTRY_DSN="https://[email protected]/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 && \

Check warning on line 66 in package-builders/Dockerfile.fedora41.v2

View workflow job for this annotation

GitHub Actions / hadolint

[hadolint] reported by reviewdog 🐶 Not following: File not included in mock. Raw Output: message:"Not following: File not included in mock." location:{path:"package-builders/Dockerfile.fedora41.v2" range:{start:{line:66 column:1}}} severity:INFO source:{name:"hadolint" url:"https://github.com/hadolint/hadolint"} code:{value:"SC1091" url:"https://github.com/koalaman/shellcheck/wiki/SC1091"}
if ! ensure_go_toolchain; then \
echo "ERROR: ${GOLANG_FAILURE_REASON}" && exit 1 ; \
fi

ENTRYPOINT ["/entrypoint.sh"]
CMD ["/build.sh"]
83 changes: 83 additions & 0 deletions package-builders/Dockerfile.ubuntu24.10.v1
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
FROM ubuntu:24.10

LABEL org.opencontainers.image.authors="Netdatabot <[email protected]>"
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 protected]
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://[email protected]/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 && \

Check warning on line 77 in package-builders/Dockerfile.ubuntu24.10.v1

View workflow job for this annotation

GitHub Actions / hadolint

[hadolint] reported by reviewdog 🐶 Not following: File not included in mock. Raw Output: message:"Not following: File not included in mock." location:{path:"package-builders/Dockerfile.ubuntu24.10.v1" range:{start:{line:77 column:1}}} severity:INFO source:{name:"hadolint" url:"https://github.com/hadolint/hadolint"} code:{value:"SC1091" url:"https://github.com/koalaman/shellcheck/wiki/SC1091"}
if ! ensure_go_toolchain; then \
echo "ERROR: ${GOLANG_FAILURE_REASON}" && exit 1 ; \
fi

ENTRYPOINT ["/entrypoint.sh"]
CMD ["/build.sh"]
82 changes: 82 additions & 0 deletions package-builders/Dockerfile.ubuntu24.10.v2
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
FROM ubuntu:24.10

LABEL org.opencontainers.image.authors="Netdatabot <[email protected]>"
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 protected]
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://[email protected]/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 && \

Check warning on line 76 in package-builders/Dockerfile.ubuntu24.10.v2

View workflow job for this annotation

GitHub Actions / hadolint

[hadolint] reported by reviewdog 🐶 Not following: File not included in mock. Raw Output: message:"Not following: File not included in mock." location:{path:"package-builders/Dockerfile.ubuntu24.10.v2" range:{start:{line:76 column:1}}} severity:INFO source:{name:"hadolint" url:"https://github.com/hadolint/hadolint"} code:{value:"SC1091" url:"https://github.com/koalaman/shellcheck/wiki/SC1091"}
if ! ensure_go_toolchain; then \
echo "ERROR: ${GOLANG_FAILURE_REASON}" && exit 1 ; \
fi

ENTRYPOINT ["/entrypoint.sh"]
CMD ["/build.sh"]
Loading