-
Notifications
You must be signed in to change notification settings - Fork 3
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
RFD 0001: Tooling Requirements #157
Conversation
rfd/0001-tooling-requirements.md
Outdated
Historically this repo has used Dependabot to manage dependency updates. Unfortunately however, Dependabot does not support two key "languages" used by Github Actions: actions themselves (used when building composite actions), and Dockerfiles (used when building Dockerfile actions). As a result, [Renovate](https://docs.renovatebot.com/) will be used for new and migrated projects instead. Renovate is highly flexible and can be configured on a per-project basis. | ||
|
||
Renovate will self-hosted and configured to run every 12 hours. Updates for each project should be grouped as much as reasonably possible to reduce the number of PRs opened at any given time. Update PRs will be assigned to code owners for each project. Digest pinning will be used wherever supported. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FWIW we had nothing but problems using renovate to manage dependencies in gravitational/teleport
. I would use dependabot, especially now that is has support for grouping PRs, where possible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh really? I've had the opposite problem (dependabot not working as needed where renovate does) on the cloud-terraform repo (which now uses self-hosted Renovate) , and just a few minutes ago on the cloud repo.
What issues have there been with Renovate on gravitational/teleport
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- It was updating the indirect dependencies even though we didn't opt in to the behavior and it's supposed to be disabled by default
- It pushed updates for major versions even though we explicitly set the
disableMajorUpdates
preset - It didn't always remove the old version as reported and ignored in Go module update didn't remove the old version renovatebot/renovate#19660
- It sometimes seemed to make up versions that didn't exist
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for putting this together!
I've added a first round of quick thoughts. I need to mull over the differences/commonalities between internal golang tooling and our common github actions before I can comment on the structure and requirements.
Co-authored-by: Walt <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. I would like to see section/example showing how the tooling in this is going to be consumed by other projects.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Orca Security Scan Summary
Status | Check | Issues by priority | |
---|---|---|---|
Passed | Infrastructure as Code | 0 0 0 0 | View in Orca |
Failed | Vulnerabilities | 1 0 0 0 | View in Orca |
Passed | Secrets | 0 0 0 0 | View in Orca |
Rendered: https://github.com/gravitational/shared-workflows/blob/fred/rfd-0001/rfd/0001-tooling-requirements.md