Skip to content

build.yml: Add version for github-script #11

build.yml: Add version for github-script

build.yml: Add version for github-script #11

Workflow file for this run

name: sigrok-cli Artifact Builder Workflow
on:
push: # When the repo itself has a new commit on the master branch
branches:
- master
tags: # When a new tag was created
workflow_dispatch: # When the workflow was started manually from github
pull_request:
types:
- labeled # When a pull request received a new label (e.g. "provide_binaries")
- synchronize # When a pull request's branch was updated with a new commit
jobs:
create-pending-status:
name: Create pending status

Check failure on line 16 in .github/workflows/build.yml

View workflow run for this annotation

GitHub Actions / sigrok-cli Artifact Builder Workflow

Invalid workflow file

The workflow is not valid. .github/workflows/build.yml (Line: 16, Col: 5): Required property is missing: runs-on .github/workflows/build.yml (Line: 50, Col: 5): Required property is missing: runs-on
# Run this only for pull requests
if: (github.event == pull_request)
steps:
- name: Get PR hash
id: sha
uses: actions/github-script@v7
with:
result-encoding: string
script: |
const { owner, repo, number } = context.issue;
const pr = await github.rest.pulls.get({
owner,
repo,
pull_number: number,
});
return pr.data.head.sha
- name: Create pending status check
uses: actions/github-script@v7
with:
script: |
github.rest.repos.createCommitStatus({
owner: context.repo.owner,
repo: context.repo.repo,
sha: "${{ steps.sha.outputs.result }}",
state: "pending",
target_url: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
description: "Running",
context: "pr build"
});
update-pending-status-success:
name: Update pending status as 'success'
needs: call-build-workflow
if: |
always() && # Workaround, see https://github.com/actions/runner/issues/491#issuecomment-850884422
(github.event == pull_request) &&
!contains(needs.*.result, 'cancelled') &&
!contains(needs.*.result, 'failure')
steps:
- name: Get PR hash
id: sha
uses: actions/github-script@v7
with:
result-encoding: string
script: |
const { owner, repo, number } = context.issue;
const pr = await github.rest.pulls.get({
owner,
repo,
pull_number: number,
});
return pr.data.head.sha
- name: Update status
uses: actions/github-script@v7
with:
script: |
github.rest.repos.createCommitStatus({
owner: context.repo.owner,
repo: context.repo.repo,
sha: "${{ steps.sha.outputs.result }}",
state: "success",
target_url: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
description: "Success",
context: "pr build"
});
update-pending-status-failure:
name: Update pending status as 'failure'
needs: call-build-workflow
if: |
always() && # Workaround, see https://github.com/actions/runner/issues/491#issuecomment-850884422
(github.event == pull_request) &&
(contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure'))
steps:
- name: Get PR hash
id: sha
uses: actions/github-script@v7
with:
result-encoding: string
script: |
const { owner, repo, number } = context.issue;
const pr = await github.rest.pulls.get({
owner,
repo,
pull_number: number,
});
return pr.data.head.sha
- name: Update status
uses: actions/github-script@v7
with:
script: |
github.rest.repos.createCommitStatus({
owner: context.repo.owner,
repo: context.repo.repo,
sha: "${{ steps.sha.outputs.result }}",
state: "failure",
target_url: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
description: "Failure",
context: "pr build"
});
call-build-workflow:
name: Sigrok artifact builder
id: build
uses: sigrokproject/sigrok-build/.github/workflows/build.yml@master