-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[CI] Use GCS buckets for bazel remote caching #131345
Conversation
buildkite build this |
buildkite build this |
Pinging @elastic/kibana-operations (Team:Operations) |
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.
🎉🎉🎉 This is awesome!! 🎉🎉🎉
💚 Build SucceededMetrics [docs]
History
To update your PR or re-run it, just comment with: |
I believe it is also worth it to try https://github.com/znly/bazel-cache in the future |
(cherry picked from commit 3bc9c42)
(cherry picked from commit 3bc9c42)
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
(cherry picked from commit 3bc9c42) Co-authored-by: Brian Seeders <[email protected]>
(cherry picked from commit 3bc9c42) Co-authored-by: Brian Seeders <[email protected]>
* Add severity field to create API and migration * Adds integration test for severity field migration * remove exclusive test * Change severity levels * Update integration tests for post case * Add more integration tests * Fix all cases list test * Fix some server test * Fix util server test * Fix client util test * Convert event log's duration from number to string in Kibana (keep as "long" in Elasticsearch) (#130819) * Convert event.duration to string in TypeScript, keep as long in Elasticsearch * Fix jest test * Fix functional tests * Add ecsStringOrNumber to event log schema * Fix jest test * Add utility functions to event log plugin * Use new event log utility functions * PR fixes Co-authored-by: Kibana Machine <[email protected]> * filter o11y rule aggregations (#131301) * [Cloud Posture] Display and save rules per benchmark (#131412) * Adding aria-label for discover data grid select document checkbox (#131277) * Update API docs (#130999) Co-authored-by: Kibana Machine <[email protected]> * [CI] Use GCS buckets for bazel remote caching (#131345) * [Actionable Observability] Add license modal to rules table (#131232) * Add fix license link * fix localization * fix CI error * fix more translation issues Co-authored-by: Kibana Machine <[email protected]> * [RAM] Add shareable rule status filter (#130705) * rule state filter * turn off experiment * [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix' * Status filter API call * Fix tests * rename state to status, added tests * Address comments and fix tests * Revert experiment flag * Remove unused translations * Addressed comments Co-authored-by: kibanamachine <[email protected]> * [storybook] Watch for changes in packages (#131467) * [storybook] Watch for changes in packages * Update default_config.ts * Improve saved objects migrations failure errors and logs (#131359) * [Unified observability] Add tour step to guided setup (#131149) * [Lens] Improved interval input (#131372) * [Vega] Adjust vega doc for usage of ems files (#130948) * adjust vega doc * Update docs/user/dashboard/vega-reference.asciidoc Co-authored-by: Nick Peihl <[email protected]> * Update docs/user/dashboard/vega-reference.asciidoc Co-authored-by: Nick Peihl <[email protected]> * Update docs/user/dashboard/vega-reference.asciidoc Co-authored-by: Nick Peihl <[email protected]> * Update docs/user/dashboard/vega-reference.asciidoc Co-authored-by: Nick Peihl <[email protected]> * Update docs/user/dashboard/vega-reference.asciidoc Co-authored-by: Nick Peihl <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Nick Peihl <[email protected]> * Excess intersections * Create severity user action * Add severity to create_case user action * Fix and add integration tests * Minor improvements Co-authored-by: Mike Côté <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: mgiota <[email protected]> Co-authored-by: Jordan <[email protected]> Co-authored-by: Bhavya RM <[email protected]> Co-authored-by: Thomas Neirynck <[email protected]> Co-authored-by: Brian Seeders <[email protected]> Co-authored-by: Jiawei Wu <[email protected]> Co-authored-by: Clint Andrew Hall <[email protected]> Co-authored-by: Christiane (Tina) Heiligers <[email protected]> Co-authored-by: Alejandro Fernández Gómez <[email protected]> Co-authored-by: Joe Reuter <[email protected]> Co-authored-by: Nick Peihl <[email protected]> Co-authored-by: Christos Nasikas <[email protected]>
* Add severity field to create API and migration * Adds integration test for severity field migration * remove exclusive test * Change severity levels * Update integration tests for post case * Add more integration tests * Fix all cases list test * Fix some server test * Fix util server test * Fix client util test * Convert event log's duration from number to string in Kibana (keep as "long" in Elasticsearch) (elastic#130819) * Convert event.duration to string in TypeScript, keep as long in Elasticsearch * Fix jest test * Fix functional tests * Add ecsStringOrNumber to event log schema * Fix jest test * Add utility functions to event log plugin * Use new event log utility functions * PR fixes Co-authored-by: Kibana Machine <[email protected]> * filter o11y rule aggregations (elastic#131301) * [Cloud Posture] Display and save rules per benchmark (elastic#131412) * Adding aria-label for discover data grid select document checkbox (elastic#131277) * Update API docs (elastic#130999) Co-authored-by: Kibana Machine <[email protected]> * [CI] Use GCS buckets for bazel remote caching (elastic#131345) * [Actionable Observability] Add license modal to rules table (elastic#131232) * Add fix license link * fix localization * fix CI error * fix more translation issues Co-authored-by: Kibana Machine <[email protected]> * [RAM] Add shareable rule status filter (elastic#130705) * rule state filter * turn off experiment * [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix' * Status filter API call * Fix tests * rename state to status, added tests * Address comments and fix tests * Revert experiment flag * Remove unused translations * Addressed comments Co-authored-by: kibanamachine <[email protected]> * [storybook] Watch for changes in packages (elastic#131467) * [storybook] Watch for changes in packages * Update default_config.ts * Improve saved objects migrations failure errors and logs (elastic#131359) * [Unified observability] Add tour step to guided setup (elastic#131149) * [Lens] Improved interval input (elastic#131372) * [Vega] Adjust vega doc for usage of ems files (elastic#130948) * adjust vega doc * Update docs/user/dashboard/vega-reference.asciidoc Co-authored-by: Nick Peihl <[email protected]> * Update docs/user/dashboard/vega-reference.asciidoc Co-authored-by: Nick Peihl <[email protected]> * Update docs/user/dashboard/vega-reference.asciidoc Co-authored-by: Nick Peihl <[email protected]> * Update docs/user/dashboard/vega-reference.asciidoc Co-authored-by: Nick Peihl <[email protected]> * Update docs/user/dashboard/vega-reference.asciidoc Co-authored-by: Nick Peihl <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Nick Peihl <[email protected]> * Excess intersections * Create severity user action * Add severity to create_case user action * Fix and add integration tests * Minor improvements Co-authored-by: Mike Côté <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: mgiota <[email protected]> Co-authored-by: Jordan <[email protected]> Co-authored-by: Bhavya RM <[email protected]> Co-authored-by: Thomas Neirynck <[email protected]> Co-authored-by: Brian Seeders <[email protected]> Co-authored-by: Jiawei Wu <[email protected]> Co-authored-by: Clint Andrew Hall <[email protected]> Co-authored-by: Christiane (Tina) Heiligers <[email protected]> Co-authored-by: Alejandro Fernández Gómez <[email protected]> Co-authored-by: Joe Reuter <[email protected]> Co-authored-by: Nick Peihl <[email protected]> Co-authored-by: Christos Nasikas <[email protected]>
TLDR: Use GCS buckets for bazel remote caching in CI for a cheap and easy bootstrap speed boost. Local remote cache is currently unchanged. All steps can read and write.
Bootstrap times in CI vary a lot over the course of the day, and can get pretty long on smaller machines when changes are made that invalidate the local cache inside the agent images (which are refreshed daily in the morning). We would like to enable caching across CI in a performant and cost-effective way.
I trialed:
bazel-remote notes:
4
GCS single bucket:
GCS bucket-per-region:
Given all of this, the last option (GCS bucket-per-region) seems like the best choice. This may change in the future when we're utilizing bazel for even more, and we can always reassess.
As a side note: We could also use this for local remote cache if we wanted. We just wouldn't get the UIs, statistics, historical tracking, etc. that Buildbuddy provides.