Await the completion of a foreign repository Workflow Run given the Run ID.
This Action exists as a workaround for the issue where you cannot await the completion of a dispatched action.
This action requires being able to get the run ID from a dispatched action, this can be achieved through another Action i've created, return-dispatch.
Should a remote workflow run fail, this action will attempt to output which step failed, with a link to the workflow run itself.
An example using both of these actions is documented below.
Once you have configured your remote repository to work as expected with the return-dispatch action (including accepting and echoing back the distinct_id input in your target workflow), include await-remote-run as described below.
steps:
  - name: Dispatch an action and get the run ID
    uses: codex-/return-dispatch@v2
    id: return_dispatch
    with:
      token: ${{ github.token }}
      repo: repository-name
      owner: repository-owner
      workflow: automation-test.yml
  - name: Await Run ID ${{ steps.return_dispatch.outputs.run_id }}
    uses: Codex-/await-remote-run@v1
    with:
      token: ${{ github.token }}
      repo: return-dispatch
      owner: codex-
      run_id: ${{ steps.return_dispatch.outputs.run_id }}
      run_timeout_seconds: 300 # Optional
      poll_interval_ms: 5000 # OptionalThe permissions required for this action to function correctly are:
reposcope- You may get away with simply having 
repo:public_repo repois definitely needed if the repository is private.
- You may get away with simply having 
 actions:read
For the sake of transparency please note that this action uses the following API calls:
- Get a workflow run
- GET 
/repos/{owner}/{repo}/actions/runs/{run_id} - Permissions:
repoactions:read
 
 - GET 
 - List jobs for a workflow run
- GET 
/repos/{owner}/{repo}/actions/runs/{run_id}/jobs - Permissions:
repoactions:read
 
 - GET 
 
For more information please see api.ts.
If you want to use the result of a Workflow Run from a remote repository to complete a check locally, i.e. you have automated tests on another repository and don't want the local checks to pass if the remote fails.