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

workflows: staging build and test #4431

Closed
wants to merge 1 commit into from
Closed

workflows: staging build and test #4431

wants to merge 1 commit into from

Conversation

patrick-stephens
Copy link
Contributor

@patrick-stephens patrick-stephens commented Dec 10, 2021

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 and staging environments.
Create the following secrets:

  • AWS_S3_BUCKET_STAGING
  • AWS_S3_BUCKET_RELEASE
  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • COSIGN_PRIVATE_KEY
  • COSIGN_PASSWORD - optional if private key does not require
  • COSIGN_PUBLIC_KEY
  • FLUENTBITIO_HOST
  • FLUENTBITIO_USERNAME
  • FLUENTBITIO_SSHKEY
  • GPG_PRIVATE_KEY

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:

  • [NA] Example configuration file for the change
  • [NA] Debug log output from testing the change
  • [NA] Attached Valgrind output that shows no leaks or memory corruption was found

Documentation

  • [NA] Documentation required for this feature

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.

tools/act/run.sh Outdated Show resolved Hide resolved
packaging/update-repos.sh Outdated Show resolved Hide resolved
Copy link
Collaborator

@niedbalski niedbalski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • git rebase HEAD~250 --signoff
  • update the workflows/README.md
  • provide a list of the required secrets to be added into infra.
  • remove act (?)

Signed-off-by: Patrick Stephens <[email protected]>
@patrick-stephens
Copy link
Contributor Author

Closed as original repo had issues with squash+sign

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants