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.
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)
- uses: actions/checkout@v3
- name: Find matching workflow
uses: SamhammerAG/last-successful-build-action@v4
with:
token: "${{ secrets.GITHUB_TOKEN }}"
branch: "development"
workflow: "build"
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
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 |
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 }} |