diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b2edbc703ee..4cf7c2c931f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1004,8 +1004,6 @@ embed.go @grafana/grafana-as-code /.github/workflows/scripts/json-file-to-job-output.js @grafana/plugins-platform-frontend /.github/workflows/stale.yml @grafana/grafana-developer-enablement-squad /.github/workflows/storybook-a11y.yml @grafana/grafana-frontend-platform -/.github/workflows/storybook-verification.yml @grafana/grafana-frontend-platform -/.github/workflows/storybook-verification-playwright.yml @grafana/grafana-frontend-platform /.github/workflows/update-make-docs.yml @grafana/docs-tooling /.github/workflows/scripts/kinds/verify-kinds.go @grafana/platform-monitoring /.github/workflows/scripts/create-security-branch/create-security-branch.sh @grafana/grafana-developer-enablement-squad diff --git a/.github/workflows/pr-e2e-tests.yml b/.github/workflows/pr-e2e-tests.yml index 30590d458fe..ce7703d2b76 100644 --- a/.github/workflows/pr-e2e-tests.yml +++ b/.github/workflows/pr-e2e-tests.yml @@ -196,6 +196,34 @@ jobs: path: videos retention-days: 1 + run-storybook-test: + name: Verify Storybook (Playwright) + runs-on: ubuntu-latest + needs: detect-changes + if: needs.detect-changes.outputs.changed == 'true' + permissions: + contents: read + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + persist-credentials: false + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + + - name: Install dependencies + run: yarn install --immutable + + - name: Install Playwright browsers + run: npx playwright install --with-deps + + - name: Run Storybook and E2E tests + run: yarn e2e:playwright:storybook + run-playwright-tests: needs: - build-grafana @@ -232,6 +260,7 @@ jobs: required-playwright-tests: needs: - run-playwright-tests + - run-storybook-test - build-grafana if: ${{ !cancelled() }} name: All Playwright tests complete diff --git a/.github/workflows/storybook-verification-playwright.yml b/.github/workflows/storybook-verification-playwright.yml deleted file mode 100644 index e3924a67a85..00000000000 --- a/.github/workflows/storybook-verification-playwright.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Verify Storybook (Playwright) - -on: - pull_request: - paths: - - 'packages/grafana-ui/**' - - 'e2e-playwright/storybook/**' - - '!docs/**' - - '!*.md' - push: - branches: - - main - paths: - - 'packages/grafana-ui/**' - - 'e2e-playwright/storybook/**' - - '!docs/**' - - '!*.md' - -permissions: {} - -jobs: - verify-storybook: - name: Verify Storybook (Playwright) - runs-on: ubuntu-latest - permissions: - contents: read - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - persist-credentials: false - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version-file: '.nvmrc' - cache: 'yarn' - - - name: Install dependencies - run: yarn install --immutable - - - name: Install Playwright browsers - run: npx playwright install --with-deps - - - name: Run Storybook and E2E tests - run: yarn e2e:playwright:storybook diff --git a/.github/workflows/storybook-verification.yml b/.github/workflows/storybook-verification.yml deleted file mode 100644 index 2777836d5cb..00000000000 --- a/.github/workflows/storybook-verification.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: Verify Storybook - -on: - pull_request: - paths: - - 'packages/grafana-ui/**' - - '!docs/**' - - '!*.md' - push: - branches: - - main - paths: - - 'packages/grafana-ui/**' - - '!docs/**' - - '!*.md' - -permissions: {} - -jobs: - verify-storybook: - name: Verify Storybook - runs-on: ubuntu-latest - permissions: - contents: read - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - persist-credentials: false - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version-file: '.nvmrc' - cache: 'yarn' - - - name: Install dependencies - run: yarn install --immutable - - - name: Run Storybook and E2E tests - uses: cypress-io/github-action@108b8684ae52e735ff7891524cbffbcd4be5b19f - with: - browser: chrome - start: yarn storybook --quiet - wait-on: 'http://localhost:9001' - wait-on-timeout: 60 - command: yarn e2e:storybook - install: false - env: - HOST: localhost - PORT: 9001 diff --git a/e2e/storybook/verify.spec.ts b/e2e/storybook/verify.spec.ts deleted file mode 100644 index f6210d890d1..00000000000 --- a/e2e/storybook/verify.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -// very basic test to verify that the button story loads correctly -// this is only intended to catch some basic build errors with storybook -// NOTE: storybook must already be running (`yarn storybook`) for this test to work -describe('Verify storybook', () => { - it('Loads the button story correctly', () => { - cy.visit('?path=/story/inputs-button--basic'); - getIframeBody().find('button:contains("Example button")').should('be.visible'); - }); -}); - -// see https://www.cypress.io/blog/2020/02/12/working-with-iframes-in-cypress -function getIframeBody() { - return cy.get('#storybook-preview-iframe').its('0.contentDocument.body').should('not.be.empty').then(cy.wrap); -}