summaryrefslogtreecommitdiffstats
path: root/fluent-bit/packaging/README.md
blob: 70361050cf75d81a7029c0ee4ec89140a2620a48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Fluent Bit Packaging

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.

## Linux

The [`distros`](./distros/) directory contains OCI container definitions used to build [Fluent Bit](http://fluentbit.io) 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.

### Usage

The _build.sh_ script can be used to build packages for a specific target, the command understand the following format:

```shell
./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

Windows builds are carried out by the [dedicated workflow](../.github/workflows/call-build-windows.yaml) 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.

## macOS

Windows builds are carried out by the [dedicated workflow](../.github/workflows/call-build-macos.yaml) 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.