From f44dd91347e7ac797cefc23162b9fcf0b7329f1f Mon Sep 17 00:00:00 2001 From: Soeren Apel Date: Mon, 26 Aug 2024 16:58:02 +0200 Subject: [PATCH] build.yml: PR status updates are pointless, remove them --- .github/workflows/build.yml | 148 +++++--------------------------------------- 1 file changed, 17 insertions(+), 131 deletions(-) rewrite .github/workflows/build.yml (86%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml dissimilarity index 86% index c499750..e88d77f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,131 +1,17 @@ -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 - # Run this only for pull requests - if: (github.event_name == 'pull_request') - runs-on: ubuntu-latest - - 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 - # Note: always() is a workaround, see https://github.com/actions/runner/issues/491#issuecomment-850884422 - if: | - always() && - (github.event_name == 'pull_request') && - (!contains(needs.*.result, 'cancelled')) && - (!contains(needs.*.result, 'failure')) - runs-on: ubuntu-latest - - 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 - # Note: always() is a workaround, see https://github.com/actions/runner/issues/491#issuecomment-850884422 - if: | - always() && - (github.event_name == 'pull_request') && - (contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure')) - runs-on: ubuntu-latest - - 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 - uses: sigrokproject/sigrok-build/.github/workflows/build.yml@master +name: Build sigrok-cli artifacts + +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: + call-build-workflow: + name: Sigrok artifact builder + uses: sigrokproject/sigrok-build/.github/workflows/build.yml@master -- 2.11.4.GIT