This directory contains files to support building and releasing Fluent Bit.
For PRs, add the ok-package-test
label to trigger an automated build of all supported Linux, macOS, Windows and container image targets to verify a PR correctly builds for all supported platforms.
This can take some time to complete so is only triggered via the label on-demand.
The distros
directory contains OCI container definitions used to build Fluent Bit Linux packages for different distros, the following table describe the supported targets:
Distro | Version / Code Name | Arch | Target Option |
---|---|---|---|
AmazonLinux | 2 | x86_64 | amazonlinux/2 |
AmazonLinux | 2 | arm64v8 | amazonlinux/2.arm64v8 |
AmazonLinux | 2023 | x86_64 | amazonlinux/2023 |
AmazonLinux | 2023 | arm64v8 | amazonlinux/2023.arm64v8 |
CentOS Stream | 9 | x86_64 | centos/9 |
CentOS Stream | 9 | arm64v8 | centos/9.arm64v8 |
CentOS | 8 | x86_64 | centos/8 |
CentOS | 8 | arm64v8 | centos/8.arm64v8 |
CentOS | 7 | x86_64 | centos/7 |
CentOS | 7 | arm64v8 | centos/7.arm64v8 |
Debian | 12 | x86_64 | debian/bookworm |
Debian | 12 | arm64v8 | debian/bookworm.arm64v8 |
Debian | 11 | x86_64 | debian/bullseye |
Debian | 11 | arm64v8 | debian/bullseye.arm64v8 |
Debian | 10 | x86_64 | debian/buster |
Debian | 10 | arm64v8 | debian/buster.arm64v8 |
Ubuntu | 22.04 / Jammy Jellyfish | x86_64 | ubuntu/22.04 |
Ubuntu | 22.04 / Jammy Jellyfish | arm64v8 | ubuntu/22.04.arm64v8 |
Ubuntu | 20.04 / Focal Fossa | x86_64 | ubuntu/20.04 |
Ubuntu | 20.04 / Focal Fossa | arm64v8 | ubuntu/20.04.arm64v8 |
Ubuntu | 18.04 / Bionic Beaver | x86_64 | ubuntu/18.04 |
Ubuntu | 18.04 / Bionic Beaver | arm64v8 | ubuntu/18.04.arm64v8 |
Ubuntu | 16.04 / Xenial Xerus | x86_64 | ubuntu/16.04 |
Raspbian | 11 / Bullseye | arm32v7 | raspbian/bullseye |
Raspbian | 10 / Buster | arm32v7 | raspbian/buster |
These container images are intended to be built from the root of this repo to build the locally checked out/updated version of the source easily for any target.
The build.sh script can be used to build packages for a specific target, the command understand the following format:
./build.sh -d DISTRO
Replace DISTRO
with the Target option
column above.
All Linux builds happen in a container so can be run on any supported platform with QEMU installed and a container runtime.
Windows builds are carried out by the dedicated workflow in CI. This builds using the standard CMake process on a dedicated Windows runner within Github actions. The steps involved and additional requirements can all be found there.
Windows builds are carried out by the dedicated workflow in CI. This builds using the standard CMake process on a dedicated macOS runner within Github actions. The steps involved and additional requirements can all be found there.