A GitHub Action to check if the current actor has sufficient access to the repository.
Actors may have one of four permission levels for any repository:
- none: no access
- read: pull-only access
- write: pull and push access
- admin: pull, push, and administrator access
This action will check the current repository to see if the actor has a high enough permission level based on the provided argument.
To have an action that only passes if the actor has write access to the repo, use the action as follows:
steps:
- name: Enforce permission requirement
uses: prince-chrismc/check-actor-permissions-action@v3
with:
permission: write
To have the workflow change behaviors depending on the actor's permissions, use the action as follows:
steps:
- id: check
continue-on-error: true
uses: prince-chrismc/check-actor-permissions-action@v3
with:
github_token: ${{ github.token }}
permission: write
- if: steps.check.outputs.permitted == 'true'
uses: actions/checkout@v3
with:
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} # Typically this would fail on public forks as secret are not available