GitHub Action for the Tighten Duster package.
If your project requires PHP 8.0 use tighten/duster-action@v1
which pulls in Duster 1.x
.
Use with GitHub Actions
# .github/workflows/duster.yml
name: Duster
on:
push:
branches: main
pull_request:
jobs:
duster:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: "duster"
uses: tighten/duster-action@v2
with:
args: lint
To use additional Duster options use args
:
# .github/workflows/duster.yml
name: Duster
on:
push:
branches: main
pull_request:
jobs:
duster:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: "duster"
uses: tighten/duster-action@v2
with:
args: lint --using=tlint,pint
If you would like to automatically commit any required fixes you can add the Git Auto Commit Action by Stefan Zweifel.
# .github/workflows/duster.yml
name: Duster Fix
on:
push:
branches: main
pull_request:
jobs:
duster:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
- name: "duster"
uses: tighten/duster-action@v2
with:
args: fix
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Dusting
commit_user_name: GitHub Action
commit_user_email: [email protected]
Note The resulting commit will not trigger another GitHub Actions Workflow run. This is due to limitations set by GitHub.
To get around this you can indicate a workflow should run after "Duster Fix" using the workflow_run
option.
on:
workflow_run:
workflows: ["Duster Fix"]
types:
- completed
The name "Duster Fix" must match the name defined in your Duster workflow and must be on the default branch.
Be sure to check out the action's documentation for limitations and options.
To automatically ignore these commits from GitHub's git blame you can add the commit's hash to a .git-blame-ignore-revs
file.
# .github/workflows/duster.yml
name: Duster Fix
on:
push:
branches: main
pull_request:
jobs:
duster:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
- name: "Duster Fix"
uses: tighten/duster-action@v2
with:
args: fix
- uses: stefanzweifel/git-auto-commit-action@v4
id: auto_commit_action
with:
commit_message: Dusting
commit_user_name: GitHub Action
commit_user_email: [email protected]
- name: Ignore Duster commit in git blame
if: steps.auto_commit_action.outputs.changes_detected == 'true'
run: echo ${{ steps.auto_commit_action.outputs.commit_hash }} >> .git-blame-ignore-revs
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Ignore Dusting commit in git blame
commit_user_name: GitHub Action
commit_user_email: [email protected]