feat(deploy-report-pages)!: replace GitHub Pages with GCS for Playwright reports#253
Closed
mckn wants to merge 1 commit into
Closed
feat(deploy-report-pages)!: replace GitHub Pages with GCS for Playwright reports#253mckn wants to merge 1 commit into
mckn wants to merge 1 commit into
Conversation
Removes the gh-pages branch push (and the broad `contents: write` permission it required) in favour of uploading Playwright reports to a Grafana-managed Google Cloud Storage bucket via Workload Identity Federation. Access is restricted to Grafana Google Workspace accounts. Retention is handled by a GCS object lifecycle rule (90 days) instead of the now-deleted cleanup-folders.sh script. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
tolzhabayev
approved these changes
Jun 22, 2026
sunker
reviewed
Jun 23, 2026
sunker
left a comment
Contributor
There was a problem hiding this comment.
This looks very promising, nice work!
Some high level feedback from my side:
- This will not work for the community. Given this has not received much community traction, I think it's okay if we drop community support but in that case we should probably move the actions to plugin-ci-workflows?
- The action names no longer makes sense. I'd change the root folder name from
playwright-gh-pagestoplaywright-reportsanddeploy-report-pagestopublish-report - github-token is now unused after dropping peaceiris so we can remove it
- The action should default to a shared internal bucket with the right config for internal teams. Ideally it serves the report as a proper static site AND is browsable only by Grafana users. IIRC GCS can't do both at once as static website hosting requires the bucket to be public. Maybe we can route through the load balancer and protect the bucket with IAP?
Contributor
Author
|
Closing in favor of grafana/plugin-ci-workflows#819 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
gh-pagesbranch push with uploads to a Grafana-managed Google Cloud Storage bucket via Workload Identity Federation, eliminating the broadcontents: writepermission.storage.cloud.google.comlinks.cleanup-folders.shis deleted andretention-days/pages-branchinputs are removed;bucket(required) replaces them.build-pr-comment.jsconstructs links using the newREPORT_BASE_URLenv var (pointing directly atindex.htmlsince GCS doesn't auto-serve directory indexes) and appends a note that reports require a Grafana sign-in and are retained for 90 days.grafana/shared-workflows/actions/login-to-gcs(WIF, keyless) andgoogle-github-actions/upload-cloud-storage, namespacing objects under{bucket}/{owner}/{repo}/{YYYYMMDD}/{pr-or-run-id}/.Test plan
grafanaorg) to generate matrix artifactsgs://<bucket>/<owner>/<repo>/<YYYYMMDD>/<pr>/...storage.cloud.google.com/.../index.htmllinks and the 90-day retention notecontents: writepermission is needed anywhereRelated PRs