rusackas opened a new pull request, #40718:
URL: https://github.com/apache/superset/pull/40718

   ### SUMMARY
   
   The Cypress, Playwright, and Python test workflows ran change-detection at 
the
   **step level**: every matrix runner spun up, checked out the repo, ran the
   `change-detector` action, and *then* skipped its individual steps when the
   relevant files weren't touched. On a docs-only or otherwise unrelated PR, 
that
   still provisioned all of those runners — 12+ Cypress shards, the 3
   integration-test databases, the Presto/Hive jobs, the experimental Playwright
   matrix — only to no-op step by step.
   
   This PR adopts the pattern `superset-frontend.yml` already uses: a single
   lightweight `changes` job runs the change-detector **once** and exposes its
   outputs, and each expensive job gates on it at the **job level**:
   
   ```yaml
     changes:
       outputs:
         python: ${{ steps.check.outputs.python }}
         frontend: ${{ steps.check.outputs.frontend }}
       steps: [checkout, change-detector]
   
     <expensive-job>:
       needs: changes
       if: needs.changes.outputs.python == 'true'   # (|| frontend for 
e2e/playwright)
   ```
   
   Jobs that don't apply to a PR are now **skipped outright** instead of
   provisioning a runner just to skip every step. The redundant per-job
   change-detector step and the per-step `if:` guards are removed.
   
   Workflows touched:
   - `superset-e2e.yml` (Cypress + required Playwright)
   - `superset-playwright.yml` (experimental Playwright)
   - `superset-python-unittest.yml`
   - `superset-python-integrationtest.yml` (mysql / postgres / sqlite)
   - `superset-python-presto-hive.yml` (presto / hive)
   
   **Behavior preserved:**
   - `workflow_dispatch` / `schedule` runs still execute everything — the 
detector
     returns "all changed" for those events, so the gate evaluates true.
   - Skipped required jobs are treated as passing by branch protection (same as 
the
     existing `superset-frontend.yml` behavior), so this doesn't block merges.
   
   ### TESTING INSTRUCTIONS
   
   - On a code PR: confirm the `changes` job runs and the relevant test jobs 
run as
     before.
   - On a docs-only PR: confirm the test jobs are **skipped** (not just 
no-op'd) and
     no Cypress/Python runners are provisioned.
   
   ### ADDITIONAL INFORMATION
   
   - [ ] Has associated issue:
   - [ ] Changes UI
   - [ ] Includes DB Migration
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to