Files
grafana/pkg/build/e2e-playwright
Ashley Harrison 0687017595 E2E: Run playwright cloud plugins tests as part of github actions (#109055)
* add github workflow scaffolding

* update comments

* Add image and resource commands

* Add secrets paths

* Block workflow run for forks

* ignore via package.json, update CODEOWNERS

* fix workflow path

* remove old azure monitor test

* pull docker image first

* add permissions for docker pull step

* checkout first

* keep creds file

* try all in one job

* with creds...

* add cloud: 'azure'

* pass CLOUD to docker

* add -playwright

* actually use the env vars

* don't need to pass CLOUD env var

* remove commented out code and tidy up

* kick CI

* Update container names and set PLAYWRIGHT_CI

* Update path

* fix zizmor violation

* use bigger runner, add double quoting

* add separate command and increase timeout

* remove timeout

* parameterise the e2e command in CI

* move cloud-plugins-e2e-tests into normal e2e test workflow

* fix detect changes

* pass creds into dagger

* try remove quotes

* add a debug log

* exec playwright command after mounting file

* reassign e2eContainer, add change to check the tests fail correctly

* fix test

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2025-08-19 09:25:16 +01:00
..
2025-07-11 10:31:33 +01:00

Pa11y accessability tests

We use pa11y to run some automated simple accessability tests. They're ran with dagger to help orchestrate starting server + tests in a reproducable manner.

To run the tests locally:

  1. Install dagger locally https://docs.dagger.io/install/
  2. Grab the grafana.tar.gz artifact by either
    1. Downloading it from the Github Action artifact from your PR
    2. Build it locally with:
      dagger run go run ./pkg/build/cmd artifacts -a targz:grafana:linux/amd64 --grafana-dir="$PWD" > dist/files.txt
      cat dist/files.txt # Will output the path to the grafana.tar.gz 
      
  3. Run the dagger pipeline with:
    dagger -v run go run ./pkg/build/a11y --package=(full path to .tar.gz) --results=./pa11y-ci-results.json
    
    The JSON results file will be saved to the file from the --results arg
  4. If they fail and you want to see the full output
    1. Run the dagger command with dagger -vE [...]
    2. At the end, arrow up to the exec pa11y-ci segment and hit Enter