From 60ea65ca69e82110724c2345df5ba49e5ff62ac6 Mon Sep 17 00:00:00 2001 From: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com> Date: Wed, 7 May 2025 15:27:53 +0100 Subject: [PATCH] DashboardNewLayouts: Add e2e workflow for dashboardNewLayouts (#104995) * rename dashboard new layouts e2e path for clarity * add workflow for dashboardNewLayouts e2e * adjust workflow error * remove forced fail from workflow * formatting --- .github/CODEOWNERS | 1 + .../workflows/e2e-dashboard-new-layouts.yml | 62 +++++++++++++++++++ .../dashboard-edit-flows.ts | 0 .../dashboards-add-panel.spec.ts | 0 .../dashboards-edit-variables.spec.ts | 0 .../dashboards-remove-panel.spec.ts | 0 e2e/run-suite | 6 +- package.json | 4 +- 8 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/e2e-dashboard-new-layouts.yml rename e2e/{dashboards-edit-v2-suite => dashboard-new-layouts}/dashboard-edit-flows.ts (100%) rename e2e/{dashboards-edit-v2-suite => dashboard-new-layouts}/dashboards-add-panel.spec.ts (100%) rename e2e/{dashboards-edit-v2-suite => dashboard-new-layouts}/dashboards-edit-variables.spec.ts (100%) rename e2e/{dashboards-edit-v2-suite => dashboard-new-layouts}/dashboards-remove-panel.spec.ts (100%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index a162207d03f..b75bb8ff3e2 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -805,6 +805,7 @@ embed.go @grafana/grafana-as-code /.github/workflows/verify-kinds.yml @grafana/platform-monitoring /.github/workflows/dashboards-issue-add-label.yml @grafana/dashboards-squad /.github/workflows/run-schema-v2-e2e.yml @grafana/dashboards-squad +/.github/workflows/e2e-dashboard-new-layouts.yml @grafana/dashboards-squad /.github/workflows/run-dashboard-search-e2e.yml @grafana/grafana-search-and-storage /.github/workflows/trigger-dashboard-search-e2e.yml @grafana/grafana-search-and-storage /.github/workflows/ephemeral-instances-pr-comment.yml @grafana/grafana-backend-services-squad diff --git a/.github/workflows/e2e-dashboard-new-layouts.yml b/.github/workflows/e2e-dashboard-new-layouts.yml new file mode 100644 index 00000000000..e50b6dee15a --- /dev/null +++ b/.github/workflows/e2e-dashboard-new-layouts.yml @@ -0,0 +1,62 @@ +name: Run e2e for dashboardNewLayouts + +on: + pull_request: + branches: + - '**' + paths: + - 'e2e/dashboard-new-layouts/**' + - 'public/app/features/dashboard-scene/**' + +env: + ARCH: linux-amd64 + +jobs: + dashboard-new-layouts-e2e: + runs-on: ubuntu-latest + continue-on-error: true + if: github.event.pull_request.draft == false + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + persist-credentials: false + - name: Pin Go version to mod file + uses: actions/setup-go@v5 + with: + go-version-file: 'go.mod' + - run: go version + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'yarn' + - name: Install dependencies + run: yarn install --immutable + - name: Build grafana + run: make build + - name: Install Cypress dependencies + uses: cypress-io/github-action@108b8684ae52e735ff7891524cbffbcd4be5b19f + with: + runTests: false + - name: Run dashboardNewLayouts e2e + run: yarn e2e:dashboard-new-layouts + - name: Post PR comment on fail + uses: actions/github-script@v7 + if: failure() + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const prNumber = context.payload.pull_request.number; + const runId = context.runId; + const repoUrl = `https://github.com/${context.repo.owner}/${context.repo.repo}`; + const runUrl = `${repoUrl}/actions/runs/${runId}`; + + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: prNumber, + body: `⚠️ E2E workflow for dashboardNewLayouts has failed. [Click here to view the run](${runUrl}).` + }); + - name: Always succeed # This is a workaround to make the job pass even if the previous step fails + if: failure() + run: exit 0 diff --git a/e2e/dashboards-edit-v2-suite/dashboard-edit-flows.ts b/e2e/dashboard-new-layouts/dashboard-edit-flows.ts similarity index 100% rename from e2e/dashboards-edit-v2-suite/dashboard-edit-flows.ts rename to e2e/dashboard-new-layouts/dashboard-edit-flows.ts diff --git a/e2e/dashboards-edit-v2-suite/dashboards-add-panel.spec.ts b/e2e/dashboard-new-layouts/dashboards-add-panel.spec.ts similarity index 100% rename from e2e/dashboards-edit-v2-suite/dashboards-add-panel.spec.ts rename to e2e/dashboard-new-layouts/dashboards-add-panel.spec.ts diff --git a/e2e/dashboards-edit-v2-suite/dashboards-edit-variables.spec.ts b/e2e/dashboard-new-layouts/dashboards-edit-variables.spec.ts similarity index 100% rename from e2e/dashboards-edit-v2-suite/dashboards-edit-variables.spec.ts rename to e2e/dashboard-new-layouts/dashboards-edit-variables.spec.ts diff --git a/e2e/dashboards-edit-v2-suite/dashboards-remove-panel.spec.ts b/e2e/dashboard-new-layouts/dashboards-remove-panel.spec.ts similarity index 100% rename from e2e/dashboards-edit-v2-suite/dashboards-remove-panel.spec.ts rename to e2e/dashboard-new-layouts/dashboards-remove-panel.spec.ts diff --git a/e2e/run-suite b/e2e/run-suite index c339060bd89..ec9b5115ae4 100755 --- a/e2e/run-suite +++ b/e2e/run-suite @@ -30,7 +30,7 @@ rootForEnterpriseSuite="./e2e/extensions-suite" rootForOldArch="./e2e/old-arch" rootForKubernetesDashboards="./e2e/dashboards-suite" rootForSearchDashboards="./e2e/dashboards-search-suite" -rootForEditDashboards="./e2e/dashboards-edit-v2-suite" +rootForDashboardNewLayouts="./e2e/dashboard-new-layouts" declare -A cypressConfig=( [screenshotsFolder]=./e2e/"${args[0]}"/screenshots @@ -150,10 +150,10 @@ case "$1" in ;; esac ;; - "dashboards-edit-v2") + "dashboard-new-layouts") env[kubernetesDashboards]=true env[dashboardNewLayouts]=true - cypressConfig[specPattern]=$rootForEditDashboards/$testFilesForSingleSuite + cypressConfig[specPattern]=$rootForDashboardNewLayouts/$testFilesForSingleSuite cypressConfig[video]=false case "$2" in "debug") diff --git a/package.json b/package.json index 9a23898d6ed..267eb45b688 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,8 @@ "e2e:old-arch": "./e2e/start-and-run-suite old-arch", "e2e:schema-v2": "./e2e/start-and-run-suite dashboards-schema-v2", "e2e:dashboards-search": "./e2e/start-and-run-suite dashboards-search", - "e2e:dashboards-edit-v2": "./e2e/start-and-run-suite dashboards-edit-v2", - "e2e:dashboards-edit-v2:dev": "./e2e/start-and-run-suite dashboards-edit-v2 dev", + "e2e:dashboard-new-layouts": "./e2e/start-and-run-suite dashboard-new-layouts", + "e2e:dashboard-new-layouts:dev": "./e2e/start-and-run-suite dashboard-new-layouts dev", "e2e:debug": "./e2e/start-and-run-suite debug", "e2e:dev": "./e2e/start-and-run-suite dev", "e2e:benchmark:live": "./e2e/start-and-run-suite benchmark live",