goutamadwant opened a new pull request, #12725:
URL: https://github.com/apache/seatunnel/pull/12725

   ### Purpose of this pull request
   
   Closes #12724.
   
   ASF Infra disables the `pull_request_target` trigger for ASF repositories 
from November 2026 and asks projects to migrate to a `pull_request` signal 
workflow plus `workflow_run` consumers that run from the default branch 
(https://infra.apache.org/github-actions-policy.html). `add-label.yml` and 
`notify_test_workflow.yml` use the trigger; without them PRs get no labels and 
no `Build` check, and `Build` is a required status check on `dev`.
   
   #### Before
   ```
   add-label.yml:            on: pull_request_target   actions/labeler on the 
event PR
   notify_test_workflow.yml: on: pull_request_target   Build check from 
context.payload.pull_request.head.*
   ```
   
   #### After
   ```
   pr-signal.yml:            on: pull_request [opened, reopened, synchronize], 
permissions: {}, one echo step
   add-label.yml:            on: workflow_run ["PR signal"], PRs resolved by 
head owner:branch + head sha, actions/labeler pr-number
   notify_test_workflow.yml: on: workflow_run ["PR signal"], same Build check 
from workflow_run.head_sha / head_branch / head_repository
   ```
   
   Both consumers keep `permissions: {}` at the top level and the same job 
scopes as before (labeler: `contents: read`, `pull-requests: write`; notify: 
`actions: read`, `checks: write`). They only read the pull request through the 
API and never check out or run PR code. Signal runs with conclusion 
`action_required` (a first-time contributor waiting for workflow approval) are 
accepted, so those PRs still get labels and the Build check right away.
   
   Behaviour differences:
   - Labels and the Build check appear after the signal job completes, under a 
minute later than today.
   - `pr-signal.yml` has to be backported to maintained release branches, 
because `pull_request` workflows run from the PR merge ref. Only the signal 
needs backporting; the consumers run from `dev`.
   - A PR with merge conflicts gets no `pull_request` run and therefore no 
Build check until the conflict is resolved.
   - A deleted fork is skipped instead of failing the job.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No.
   
   ### How was this patch tested?
   
   - The three workflow files parse, and the embedded `github-script` bodies 
pass `node --check`. actionlint reports 0 errors.
   - Verified against the live repository that `pull_request` workflows from 
non-collaborator fork PRs already run here without manual approval (the 
`SeaTunnel CLI` workflow; only first-time contributors wait), that 
`actions/labeler@v5` accepts `pr-number` as a multi-line input, and that fork 
`workflow_run` payloads carry `head_sha`, `head_branch` and `head_repository`.
   - The `workflow_run` path can only execute from a default branch, so it does 
not run on this PR. A live end-to-end test is in progress in my fork (fix 
branch set as default, throwaway PR opened); I will add the run links here once 
it completes. Until this merges, the current `pull_request_target` workflows on 
`dev` keep serving every PR, including this one.
   - Draft until the live evidence is attached.
   
   ### Check list
   
   * [ ] If any new Jar binary package adding in your PR, please add License 
Notice according
     [New License 
Guide](https://github.com/apache/seatunnel/blob/dev/docs/en/developer/new-license.md)
   * [ ] If necessary, please update the documentation to describe the new 
feature. https://github.com/apache/seatunnel/tree/dev/docs
   * [ ] If necessary, please update `incompatible-changes.md` to describe the 
incompatibility caused by this PR.
   * [ ] If you are contributing the connector code, please check that the 
following files are updated:
     1. Update 
[plugin-mapping.properties](https://github.com/apache/seatunnel/blob/dev/plugin-mapping.properties)
 and add new connector information in it
     2. Update the pom file of 
[seatunnel-dist](https://github.com/apache/seatunnel/blob/dev/seatunnel-dist/pom.xml)
     3. Add ci label in 
[label-scope-conf](https://github.com/apache/seatunnel/blob/dev/.github/workflows/labeler/label-scope-conf.yml)
     4. Add e2e testcase in 
[seatunnel-e2e](https://github.com/apache/seatunnel/tree/dev/seatunnel-e2e/seatunnel-connector-v2-e2e/)
     5. Update connector 
[plugin_config](https://github.com/apache/seatunnel/blob/dev/config/plugin_config)
   


-- 
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]

Reply via email to