[DX-3584] post build tests repository dispatch#22063
Conversation
|
✅ No conflicts with other open PRs targeting |
3e412d3 to
7043b39
Compare
…trigger tests instead of using workflow_call
There was a problem hiding this comment.
Pull request overview
Risk Rating: HIGH — Changes alter the release/publish pipeline’s post-build test triggering mechanism and could impact reliability of release validation.
This PR moves post-build test execution from a workflow_call-invoked workflow to a repository_dispatch-triggered workflow that can be fired after build/publish completes.
Changes:
- Remove the
post-build.ymlreusable workflow previously invoked bybuild-publish.yml. - Add
post-build-publish.ymlto run post-build test workflows onrepository_dispatch(build_publish_finished) with basic payload validation. - Emit a
repository_dispatchevent frombuild-publish.ymlafter docker-core completes; add a display name to thedevenv-compatjob.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
.github/workflows/post-build.yml |
Removes the prior reusable post-build workflow entrypoint. |
.github/workflows/post-build-publish.yml |
New repository_dispatch-triggered workflow to run post-build tests. |
.github/workflows/build-publish.yml |
Adds dispatch emission job to trigger post-build tests. |
.github/workflows/devenv-compat.yml |
Adds an explicit job name for clearer Actions UI display. |
Scrupulous human review recommended for:
.github/workflows/build-publish.yml— the dispatch emission step (token permissions and failure behavior)..github/workflows/post-build-publish.yml— job dependency graph to ensure validation properly gates all expensive jobs.
525a57f to
8844e89
Compare
| curl -L \ | ||
| --fail-with-body \ | ||
| -X POST \ | ||
| -H "Accept: application/vnd.github+json" \ | ||
| -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ |
There was a problem hiding this comment.
Instead of using curl, what if we used the gh cli like:
env:
DOCKER_MANIFEST_TAG: ${{ needs.docker-core.outputs.docker-manifest-tag }}
run: |
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
"/repos/${GITHUB_REPOSITORY}/dispatches" \
--input - <<'JSON'
{
"event_type": "build_publish_finished",
"client_payload": {
"chainlink_image_tag": "${DOCKER_MANIFEST_TAG}",
"chainlink_version": "${GITHUB_REF_NAME}"
}
}
JSON
| permissions: | ||
| actions: read | ||
| id-token: write | ||
| contents: read |
There was a problem hiding this comment.
| permissions: | |
| actions: read | |
| id-token: write | |
| contents: read | |
| permissions: {} |
Always blank out default permissions and set the minimal privs on the job level as needed.
workflow_calltrigger removed frompost-build chainlink.repository_dispatchis indevelop