workflows: add some info on release process
| Workflow file | Description | Run event |
| :---------------------------------------------------- | ------------------------ | ------------------------------------------------- |
+| [build-master-packages](./build-master-packages.yaml) | Builds packages using `master` for certain targets | on new commit/push on master / manual |
| [master-integration-test](./master-integration-test.yaml) | Runs the integration testing suite on master | on new commit/push on master |
| [staging-build](./staging-build.yaml) | Builds the distro packages and docker images from a tagged release into staging (S3 and GHCR) | on new release/tag |
| [staging-test](./staging-test.yaml) | Test the staging distro packages and docker images| manually or when `staging-build` completes successfully |
@@ -54,3 +55,19 @@ For some reason this is not automatically done via permission inheritance or sim
1. Verify you can push with a simple test, e.g. `docker pull alpine && docker tag alpine:latest ghcr.io/<repo>/fluent-bit:latest && docker push ghcr.io/<repo>/fluent-bit:latest`
2. Once this is working locally, you should then be able to set up action permissions for the repository. If you already have a package no need to push a test one.
3. Go to `https://github.com/users/USER/packages/container/fluent-bit/settings` and ensure the repository has access to `Write`.
+
+## Releases
+
+Currently the process is as follows:
+
+1. Tag the source with whatever tag you like on master.
+2. The [`Deploy to staging`](./staging-build.yaml) workflow will then kick in to build everything and upload it either to the S3 staging bucket (packages) or ghcr.io (containers).
+3. Once this completes, the [`Test staging`](./staging-test.yaml) workflow will then run to carry out smoke tests on these packages and containers.
+4. The [`Release from staging`](./staging-release.yaml) workflow can then be manually initiated to promote staging to release.
+
+### Package releases
+
+The steps above will handle containers and copy them to DockerHub, however it only uploads the packages to the relevant server without doing the final step of making them available directly.
+A maintainer needs to log in and run the publishing scripts using the uploaded binaries which are present in the home directory of the CI user that uploaded them.
+
+The package upload action is here: https://github.com/fluent/fluent-bit/blob/master/.github/actions/release-server-sync/action.yaml
