Skip to content

Action to find the sha of the last successful workflow of a branch.

License

Notifications You must be signed in to change notification settings

SamhammerAG/last-successful-build-action

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

last-successful-build-action

This action searches for the last successful workflow-run for the given workflow-name and branch. The sha of the workflow-commit is set as output-parameter. If no matching workflow exists, the sha of the current run is emitted.

Required Permissions:

The Action requires the permission "read" for the "Actions" scope. This is set by default if you've configured your repositories Workflow permissions to "Read and write permissions". Alternatively you can explicitly set the permissions for the "actions" scope to "read" (see githubs docs)

Usage

      - uses: actions/checkout@v3
      - name: Find matching workflow
        uses: SamhammerAG/last-successful-build-action@v4
        with:
          token: "${{ secrets.GITHUB_TOKEN }}"
          branch: "development"
          workflow: "build"

Verifying workflow run SHAs

If your workflow runs are expected to contain no-longer existing commit SHAs (e.g. when squashing and force pushing) you need to verify the SHA of the workflow run commit against the list of commit SHAs in your repository.

      - uses: actions/checkout@v3
        with:
          fetch-depth: 0 # check out the entire repo history for SHA verification
      - name: Find matching workflow
        uses: SamhammerAG/last-successful-build-action@v4
        with:
          branch: "development"
          workflow: "build"
          verify: true

Config

Action inputs

Name Description Default
token GITHUB_TOKEN or a repo scoped PAT. GITHUB_TOKEN
branch Branch for the workflow to look for. ""
workflow Workflow name to look for. ""
job Job name to look for. ""
verify Verify workflow commit SHA against list of SHAs in repository false
fallbackToEarliestSha If SHA of last successful commit can not be determined, use earliest (true) or triggering sha (false) false

Action outputs

Name Description Default
sha Sha of the workflow-run matching the requirements. ${{ github.sha }}
run-id Id of the workflow-run matching the requirements. ${{ github.run_id }}