Skip to content

feat(playwright): migrate report publishing from plugin-actions to GCS#819

Open
mckn wants to merge 4 commits into
mainfrom
mckn/migrate-pr-253
Open

feat(playwright): migrate report publishing from plugin-actions to GCS#819
mckn wants to merge 4 commits into
mainfrom
mckn/migrate-pr-253

Conversation

@mckn

@mckn mckn commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Ports playwright-gh-pages/upload-report-artifacts and deploy-report-pages from grafana/plugin-actions#253 into this repo as actions/plugins/playwright-reports/upload-report-artifacts and publish-report, applying Erik's requested renames and dropping the unused github-token input.
  • Replaces gh-pages branch push with GCS uploads via Workload Identity Federation — removing contents: write and restricting report access to Grafana Google Workspace accounts; retention is handled by a 90-day GCS object lifecycle rule.
  • Wires the new actions into playwright.yml: the per-matrix job now uses upload-report-artifacts (producing a 1-day intermediate artifact + summary.txt), and a new fork-safe publish-reports job uploads to GCS and posts a PR comment with report links.
  • Adds bucket and pr-comment-summary inputs to playwright.yml and ci.yml (defaulting to a shared internal bucket — provisioning tracked separately in deployment_tools).
  • Registers both actions in release-please-config.json so they get independent version tags, making them addressable by external consumers (e.g. grafana/plugin-tools).

Test plan

  • Run CI on a PR in a test plugin repo (grafana org) with upload-playwright-artifacts: true and confirm gf-playwright-report-* artifacts are produced per matrix entry
  • Confirm publish-reports job uploads objects to gs://grafana-plugin-ci-playwright-reports/<owner>/<repo>/<YYYYMMDD>/<pr>/... (requires bucket to be provisioned first)
  • Confirm PR comment renders storage.cloud.google.com/.../index.html links and the 90-day / Grafana-sign-in note
  • Confirm no contents: write permission is needed and no gh-pages branch is created

Ports the playwright-gh-pages actions from grafana/plugin-actions#253 into
this repo as standalone versioned actions, replacing the gh-pages branch push
with GCS uploads via Workload Identity Federation. Wires the new actions into
playwright.yml and adds a publish-reports job that posts report links in PR comments.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@mckn mckn requested a review from a team as a code owner June 25, 2026 07:41
@mckn mckn requested a review from wbrowne June 25, 2026 07:41
@mckn mckn requested review from leventebalogh and oshirohugo June 25, 2026 07:41
@grafana-catalog-project-bot grafana-catalog-project-bot Bot moved this from 📬 Triage to 🔬 In review in Grafana Catalog Team Jun 25, 2026
Add an optional `service-account` input to the publish-report action. When
set, login-to-gcs switches off direct WIF (use_wif_auth: false) and
impersonates the service account via WIF. When empty, behaviour is
unchanged (direct WIF). Needed so uploads can target buckets that grant
access to a specific SA rather than the direct federated principal.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
mckn added a commit to grafana/plugin-tools that referenced this pull request Jun 25, 2026
Point the E2E report flow at the new actions from
grafana/plugin-ci-workflows#819 (upload-report-artifacts + publish-report)
and the dev bucket from grafana/deployment_tools#626295. publish-report
impersonates the github-e2e-test-artifacts SA so uploads to
dev-grafana-e2e-test-artifacts are authorized.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🔬 In review

Development

Successfully merging this pull request may close these issues.

1 participant