# Copyright 2026 Collate # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: Workflows and Data Access Request E2E tests on: workflow_dispatch: pull_request_target: types: [opened, synchronize, reopened, labeled, ready_for_review] permissions: contents: read pull-requests: read checks: write concurrency: group: data-access-request-e2e-${{ github.event.pull_request.number || github.run_id }} cancel-in-progress: ${{ github.event_name != 'pull_request_target' || github.event.action != 'labeled' || github.event.label.name == 'safe to test' }} jobs: check-changes: runs-on: ubuntu-latest outputs: dar: ${{ steps.filter.outputs.dar }} steps: - uses: dorny/paths-filter@v4 id: filter with: filters: | dar: - 'openmetadata-service/src/main/java/org/openmetadata/service/resources/tasks/TaskResource.java' - 'openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TaskRepository.java' - 'openmetadata-service/src/main/java/org/openmetadata/service/resources/feeds/FeedResource.java' - 'openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/**' data-access-request-e2e: needs: check-changes runs-on: ubuntu-latest if: | !github.event.pull_request.draft && (github.event_name == 'workflow_dispatch' || needs.check-changes.outputs.dar == 'true') && (github.event_name != 'pull_request_target' || github.event.action != 'labeled' || github.event.label.name == 'safe to test') steps: - name: Wait for the labeler uses: lewagon/wait-on-check-action@v1.7.0 if: ${{ github.event_name == 'pull_request_target' }} with: ref: ${{ github.event.pull_request.head.sha }} check-name: Team Label repo-token: ${{ secrets.GITHUB_TOKEN }} wait-interval: 90 - name: Verify PR labels uses: jesusvasquez333/verify-pr-label-action@v1.4.0 if: ${{ github.event_name == 'pull_request_target' }} with: github-token: "${{ secrets.GITHUB_TOKEN }}" valid-labels: "safe to test" pull-request-number: "${{ github.event.pull_request.number }}" disable-reviews: true # To not auto approve changes - name: Trigger Collate Playwright run & wait uses: the-actions-org/workflow-dispatch@v4 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SHA: ${{ github.event.pull_request.head.sha || github.sha }} with: workflow: Workflows and Data Access Request E2E tests (from OpenMetadata PR) ref: main repo: open-metadata/openmetadata-collate token: ${{ secrets.COLLATE_PAT }} wait-for-completion: true inputs: '{ "sha": "${{ env.SHA }}", "event": "${{ github.event_name }}" }'