-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8f02572
commit a5df9b4
Showing
3 changed files
with
76 additions
and
76 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
name: Integration Tests Check | ||
|
||
on: | ||
pull_request: | ||
branches: [ "main" ] | ||
|
||
jobs: | ||
start-check: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
checks: write # Permission to create a Check Run | ||
actions: write # Permission to run another workflow | ||
steps: | ||
- name: Create Check | ||
id: checkrun | ||
env: | ||
GH_TOKEN: ${{ github.token }} # Expose the token for GH CLI | ||
run: | | ||
# Due to GitHub limitations, the check is assigned randomly to a check suit | ||
# https://github.com/orgs/community/discussions/24616 | ||
CHECKID=$(gh api -X POST -H "Accept: application/vnd.github+json" \ | ||
-H "X-GitHub-Api-Version: 2022-11-28" \ | ||
-f name='Integration Tests' \ | ||
-f head_sha='${{ github.event.pull_request.head.sha }}' \ | ||
-f status='queued' \ | ||
-f 'output[title]=Run Integration Tests' \ | ||
-f 'output[summary]=Running Integration Tests for Java SDK' \ | ||
--jq '.id' \ | ||
/repos/${{ github.repository }}/check-runs) | ||
# Put the ID into a step variable | ||
echo "checkId=$CHECKID" >> $GITHUB_OUTPUT | ||
- name: Trigger Workflow | ||
env: | ||
GH_TOKEN: ${{ github.token }} | ||
run: | | ||
# By default, this will run the workflow in the main branch. | ||
# To test changes the ref to the current branch. | ||
gh api -X POST -H "Accept: application/vnd.github+json" \ | ||
-H "X-GitHub-Api-Version: 2022-11-28" \ | ||
-f 'inputs[checkRunId]=${{ steps.checkrun.outputs.checkId }}' \ | ||
-f "ref=run-tests" \ | ||
/repos/${{ github.repository }}/actions/workflows/integration-tests.yml/dispatches |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,54 +1,65 @@ | ||
name: Integration Tests | ||
on: | ||
repository_dispatch: | ||
types: [integration-check] | ||
workflow_dispatch: | ||
inputs: | ||
checkRunId: | ||
description: "ID for the Check Run in a PR" | ||
type: string | ||
|
||
jobs: | ||
myEvent: | ||
runs-on: ubuntu-latest | ||
steps: | ||
#################################################### | ||
# Update the status to show that the queued message | ||
# was received and is being processed | ||
#################################################### | ||
- name: Acknowledge Request | ||
env: | ||
GH_TOKEN: ${{ github.token }} | ||
run: | | ||
gh api -X PATCH -H "Accept: application/vnd.github+json" \ | ||
-H "X-GitHub-Api-Version: 2022-11-28" \ | ||
-f 'status=in_progress' \ | ||
-f 'output[title]=Integration Tests' \ | ||
-f 'output[summary]=Running Integration Tests for Py SDK' \ | ||
/repos/${{ github.repository }}/check-runs/${{ github.event.client_payload.checkRunId }} | ||
-f 'output[title]=Run Integration Tests' \ | ||
-f 'output[summary]=Running Integration Tests for Java SDK' \ | ||
/repos/${{ github.repository }}/check-runs/${{ github.event.inputs.checkRunId }} | ||
#################################################### | ||
# Actually, we'll just sleep to simulate some work | ||
#################################################### | ||
- name: Processing | ||
run: sleep 10 | ||
|
||
##################################################### | ||
# Send a final message to complete the run and | ||
# provide any final updates. Doing this one in JSON | ||
# to make it more readable. This approach can also | ||
# be used to get total control over the serialized | ||
# data types (for example, integers). | ||
##################################################### | ||
- name: Complete Check | ||
env: | ||
GH_TOKEN: ${{ github.token }} | ||
run: | | ||
gh api -X PATCH -H "Accept: application/vnd.github+json" \ | ||
-H "X-GitHub-Api-Version: 2022-11-28" \ | ||
/repos/${{ github.repository }}/check-runs/${{ github.event.client_payload.checkRunId }} \ | ||
/repos/${{ github.repository }}/check-runs/${{ github.event.inputs.checkRunId }} \ | ||
--input - <<- EOF | ||
{ | ||
"conclusion": "success", | ||
"details_url": "TODO", | ||
"output": { | ||
"title": "Integration Tests", | ||
"summary": "**Summary**: The run completed.", | ||
"text": "Everything worked as expected." | ||
"title": "Run Integration Tests", | ||
"summary": "[Execution Details](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})", | ||
"text": "Successful execution of Integration Tests for Java SDK" | ||
} | ||
} | ||
EOF | ||
- name: Fail Check | ||
if: failure() | ||
env: | ||
GH_TOKEN: ${{ github.token }} | ||
run: | | ||
gh api -X PATCH -H "Accept: application/vnd.github+json" \ | ||
-H "X-GitHub-Api-Version: 2022-11-28" \ | ||
/repos/${{ github.repository }}/check-runs/${{ github.event.inputs.checkRunId }} \ | ||
--input - <<- EOF | ||
{ | ||
"conclusion": "failure", | ||
"output": { | ||
"title": "Run Integration Tests", | ||
"summary": "[Execution Details](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})", | ||
"text": "Failed execution of Integration Tests for Java SDK" | ||
} | ||
} | ||
EOF |
This file was deleted.
Oops, something went wrong.