workflows: staging build and test #4431
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Addresses issue 3753
New workflows added to automate the build and test of releases using the new
staging
environment.No changes made to current process to ensure we can keep using it.
Build & test of packaging
Packages built to staging in S3 bucket: https://fluentbit-staging.s3.amazonaws.com
We then verify the packages using kitchen-dokken to spin up OS images as containers, install the relevant RPM/Deb and check the service is properly running then. We are testing that the packaging process is correct.
Containers build to Github Container Registry, gchr.io, using multi-arch manifests.
Container tests then verify each architecture runs locally as well as a simple Helm deployment on KIND.
All package and container build definitions brought into the repo from external sources - containers were in this repo and packages were not so that is now identical plus having them together makes it a lot easier to manage and use.
Security
Trivy and Dockle scanning added - ignores current failures so these should be reviewed and addressed as needed.
Hadolint and Shellcheck really should be used too but this can be a separate PR.
Cosigning of container images if a key is provided, and using the experimental keyless option too.
GPG signing of binary packages as well as normal.
Additional work
Initial promotion from staging to release provided using a new
release
environment for approval - this needs creating.Initial multi-arch container image definition and workflow also added.
Follow up PRs to improve testing, build on self-hosted and cover the promotion to release process. Trying to prevent a big bag and reduce review overhead.
Infra updates
Create
release
andstaging
environments.Create the following secrets:
We can actually start breaking these secrets up into the two environments.
Enter
[N/A]
in the box, if an item is not applicable to your change.Testing
Before we can approve your change; please submit the following in a comment:
Documentation
Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.