|
| 1 | +name: "Create Check Status" |
| 2 | +description: "Create check status on github commit" |
| 3 | +inputs: |
| 4 | + github_token: |
| 5 | + description: "Github Token" |
| 6 | + required: true |
| 7 | + sha: |
| 8 | + description: "commit sha" |
| 9 | + required: true |
| 10 | + name: |
| 11 | + description: "check name" |
| 12 | + required: true |
| 13 | + status: |
| 14 | + description: "check status, Default: queued, Can be one of: queued, in_progress, completed" |
| 15 | + required: true |
| 16 | + conclusion: |
| 17 | + description: "check conclusion, Can be one of: action_required, cancelled, failure, neutral, success, skipped, stale, timed_out" |
| 18 | + required: false |
| 19 | + run_id: |
| 20 | + description: "external id to associate with the check run" |
| 21 | + required: false |
| 22 | + title: |
| 23 | + description: "check title" |
| 24 | + required: true |
| 25 | + summary: |
| 26 | + description: "check summary" |
| 27 | + required: true |
| 28 | + |
| 29 | +runs: |
| 30 | + using: "composite" |
| 31 | + steps: |
| 32 | + # Docs: https://docs.github.com/en/rest/checks/runs#create-a-check-run |
| 33 | + # Rest: https://octokit.github.io/rest.js/v18#checks-create |
| 34 | + - name: Create a check run |
| 35 | + uses: actions/github-script@v6 |
| 36 | + env: |
| 37 | + param_sha: ${{ inputs.sha }} |
| 38 | + param_name: ${{ inputs.name }} |
| 39 | + param_status: ${{ inputs.status }} |
| 40 | + param_conclusion: ${{ inputs.conclusion }} |
| 41 | + param_run_id: ${{ inputs.run_id }} |
| 42 | + param_title: ${{ inputs.title }} |
| 43 | + param_summary: ${{ inputs.summary }} |
| 44 | + param_url: https://github.com/datafuselabs/databend/actions/runs/${{ github.run_id }} |
| 45 | + with: |
| 46 | + github-token: ${{ inputs.github_token }} |
| 47 | + script: | |
| 48 | + let summary = `${process.env.param_summary} |
| 49 | + [View Details](https://github.com/datafuselabs/databend/actions/runs/${context.runId})`; |
| 50 | + let data = { |
| 51 | + owner: context.repo.owner, |
| 52 | + repo: context.repo.repo, |
| 53 | + head_sha: process.env.param_sha, |
| 54 | + name: process.env.param_name, |
| 55 | + status: process.env.param_status, |
| 56 | + details_url: process.env.param_url, |
| 57 | + output: { |
| 58 | + title: process.env.param_title, |
| 59 | + summary: summary, |
| 60 | + }, |
| 61 | + }; |
| 62 | + if (process.env.param_status === 'completed') { |
| 63 | + data.conclusion = process.env.param_conclusion; |
| 64 | + } |
| 65 | + if (process.env.param_run_id) { |
| 66 | + data.external_id = process.env.param_run_id; |
| 67 | + } |
| 68 | + await github.rest.checks.create(data); |
0 commit comments