Skip to content

ci: run Collate Workflow & Data Access Request Playwright tests on OpenMetadata PRs - #29505

Merged
anuj-kumary merged 10 commits into
mainfrom
OSS-workflow-dar
Jun 29, 2026
Merged

ci: run Collate Workflow & Data Access Request Playwright tests on OpenMetadata PRs#29505
anuj-kumary merged 10 commits into
mainfrom
OSS-workflow-dar

Conversation

@anuj-kumary

@anuj-kumary anuj-kumary commented Jun 26, 2026

Copy link
Copy Markdown
Member

Describe your changes:

Fixes #29514

Governance Workflows and Data Access Request (DAR). Today a change to any of those OSS files can silently break those Collate flows we don't find out until a separate Collate checks run.

This adds a targeted CI check: when an OpenMetadata PR touches those specific files, automatically run the Collate Workflow + DAR Playwright suite against that PR's exact OSS code.

Type of change:

  • Bug fix
  • Improvement
  • New feature
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation

High-level design:

N/A — small change.

Tests:

Use cases covered

Unit tests

Backend integration tests

Ingestion integration tests

Playwright (UI) tests

Manual testing performed

UI screen recording / screenshots:

Not applicable.

Checklist:

  • I have read the CONTRIBUTING document.
  • My PR title is Fixes <issue-number>: <short explanation>
  • My PR is linked to a GitHub issue via Fixes #<issue-number> above.
  • I have commented on my code, particularly in hard-to-understand areas.
  • For JSON Schema changes: I updated the migration scripts or explained why it is not needed.
  • For UI changes: I attached a screen recording and/or screenshots above.
  • I have added tests (unit / integration / Playwright as applicable) and listed them above.

Summary by Gitar

  • CI Infrastructure:
    • Replaced collate-workflow-dar-playwright.yml with data-access-request-e2e.yml to support mandatory CI status checks.
    • Implemented dorny/paths-filter to skip execution for unrelated changes, ensuring branch protection compatibility.

This will update automatically on new commits.

------|----------|
| .github/workflows/collate-workflow-dar-playwright.yml | New GitHub Actions workflow that dispatches the Collate Playwright suite when OpenMetadata PRs touch Task/Feed/Governance workflow files; contains a dead push-event branch in the SHA expression and three issues flagged in prior review threads (missing timeout, unused checkout, empty SHA on workflow_dispatch). |

Sequence Diagram

%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
    participant Dev as PR Author
    participant GH as GitHub (OM Repo)
    participant Labeler as Labeler / wait-on-check
    participant Collate as Collate Repo Workflow

    Dev->>GH: Open / push PR touching Task/Feed/Governance files
    GH->>GH: Trigger pull_request_target (collate-workflow-dar-playwright)
    GH->>Labeler: Wait for "Team Label" check
    Labeler-->>GH: Check complete
    GH->>GH: Verify "safe to test" label present
    GH->>GH: "Checkout fork HEAD (actions/checkout@v4)"
    GH->>Collate: "workflow-dispatch inputs: { sha, event }"
    Collate-->>GH: Workflow queued and running
    GH->>GH: Block runner (wait-for-completion: true)
    Collate-->>GH: Workflow finished (pass / fail)
    GH-->>Dev: CI check result surfaced on PR
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
    participant Dev as PR Author
    participant GH as GitHub (OM Repo)
    participant Labeler as Labeler / wait-on-check
    participant Collate as Collate Repo Workflow

    Dev->>GH: Open / push PR touching Task/Feed/Governance files
    GH->>GH: Trigger pull_request_target (collate-workflow-dar-playwright)
    GH->>Labeler: Wait for "Team Label" check
    Labeler-->>GH: Check complete
    GH->>GH: Verify "safe to test" label present
    GH->>GH: "Checkout fork HEAD (actions/checkout@v4)"
    GH->>Collate: "workflow-dispatch inputs: { sha, event }"
    Collate-->>GH: Workflow queued and running
    GH->>GH: Block runner (wait-for-completion: true)
    Collate-->>GH: Workflow finished (pass / fail)
    GH-->>Dev: CI check result surfaced on PR
Loading

Reviews (3): Last reviewed commit: "Merge branch 'OSS-workflow-dar' of https..." | Re-trigger Greptile

Greptile Summary

This PR replaces collate-workflow-dar-playwright.yml with data-access-request-e2e.yml, adding dorny/paths-filter to skip the expensive Collate dispatch when an OM PR does not touch Task/Feed/Governance workflow files. Two issues flagged in prior reviews are resolved: the SHA expression now falls back to github.sha on workflow_dispatch, and the unused actions/checkout step (which unnecessarily widened the pull_request_target attack surface) has been removed.

  • Path filtering: check-changes job uses dorny/paths-filter@v4 over the GitHub API (no checkout needed) to gate on four specific file paths; the data-access-request-e2e job still fires unconditionally on workflow_dispatch via an explicit bypass in its if expression.
  • Security gating: pull_request_target runs must pass the "Team Label" wait-on-check step and the verify-pr-label-action "safe to test" check before the Collate PAT dispatch fires; no fork code is checked out into the pull_request_target context.

Confidence Score: 5/5

Safe to merge — no fork code is executed under the elevated pull_request_target context and the label gate correctly guards the Collate PAT dispatch.

The two concrete defects flagged in earlier reviews — the empty SHA on workflow_dispatch and the unused checkout step that widened the pull_request_target attack surface — are both resolved. The SHA now falls back to github.sha and the checkout step is gone entirely.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/data-access-request-e2e.yml New workflow that gates Collate Playwright dispatch behind dorny/paths-filter and a 'safe to test' label; SHA fallback now uses

Sequence Diagram

%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
    participant Dev as PR Author
    participant GH as GitHub (OM Repo)
    participant Filter as check-changes (paths-filter)
    participant Labeler as wait-on-check / verify-label
    participant Collate as Collate Repo Workflow

    Dev->>GH: Open / push PR touching Task/Feed/Governance files
    GH->>Filter: Trigger pull_request_target check-changes job
    Filter-->>GH: "dar=true (matched files) or dar=false (skip)"
    alt "dar=true or workflow_dispatch"
        GH->>Labeler: Wait for Team Label check
        Labeler-->>GH: Check complete
        GH->>GH: Verify safe to test label present
        GH->>Collate: "workflow-dispatch { sha, event }"
        Collate-->>GH: "Workflow running (wait-for-completion=true)"
        Collate-->>GH: Workflow finished (pass / fail)
        GH-->>Dev: CI check result surfaced on PR
    else "dar=false"
        GH-->>Dev: data-access-request-e2e skipped
    end
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
    participant Dev as PR Author
    participant GH as GitHub (OM Repo)
    participant Filter as check-changes (paths-filter)
    participant Labeler as wait-on-check / verify-label
    participant Collate as Collate Repo Workflow

    Dev->>GH: Open / push PR touching Task/Feed/Governance files
    GH->>Filter: Trigger pull_request_target check-changes job
    Filter-->>GH: "dar=true (matched files) or dar=false (skip)"
    alt "dar=true or workflow_dispatch"
        GH->>Labeler: Wait for Team Label check
        Labeler-->>GH: Check complete
        GH->>GH: Verify safe to test label present
        GH->>Collate: "workflow-dispatch { sha, event }"
        Collate-->>GH: "Workflow running (wait-for-completion=true)"
        Collate-->>GH: Workflow finished (pass / fail)
        GH-->>Dev: CI check result surfaced on PR
    else "dar=false"
        GH-->>Dev: data-access-request-e2e skipped
    end
Loading

Reviews (7): Last reviewed commit: "Merge branch 'main' into OSS-workflow-da..." | Re-trigger Greptile

@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

✅ PR checks passed

The linked issue has a description and all required Shipping project fields set. Thanks!

@github-actions

Copy link
Copy Markdown
Contributor

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

Comment thread .github/workflows/data-access-request-e2e.yml
Comment thread .github/workflows/collate-workflow-dar-playwright.yml Outdated
Comment thread .github/workflows/data-access-request-e2e.yml Outdated
@github-actions

Copy link
Copy Markdown
Contributor

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

@anuj-kumary anuj-kumary added the safe to test Add this label to run secure Github workflows on PRs label Jun 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Jest test Coverage

UI tests summary

Lines Statements Branches Functions
Coverage: 63%
63.42% (70688/111446) 45.9% (40625/88504) 47.81% (12369/25866)

Comment thread .github/workflows/data-access-request-e2e.yml
Comment thread .github/workflows/collate-workflow-dar-playwright.yml Outdated
Comment thread .github/workflows/collate-workflow-dar-playwright.yml Outdated
Comment thread .github/workflows/collate-workflow-dar-playwright.yml Outdated
Comment thread .github/workflows/data-access-request-e2e.yml Fixed
@sonarqubecloud

Copy link
Copy Markdown

chirag-madlani
chirag-madlani previously approved these changes Jun 29, 2026
@anuj-kumary
anuj-kumary merged commit 5f3a721 into main Jun 29, 2026
43 checks passed
@anuj-kumary
anuj-kumary deleted the OSS-workflow-dar branch June 29, 2026 06:04
@gitar-bot

gitar-bot Bot commented Jun 29, 2026

Copy link
Copy Markdown
Code Review ✅ Approved

Introduces an automated CI trigger to run Collate Workflow and Data Access Request Playwright tests on OpenMetadata PRs. Replaces the initial workflow with a robust path-filtered implementation to ensure compatibility with mandatory branch protection checks.

Options

Display: compact → Showing less information.

Comment with these commands to change:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test Add this label to run secure Github workflows on PRs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Run Collate Workflow & Data Access Request Playwright tests on OpenMetadata PRs

4 participants