@pkgdeps/update-github-actions-permissions v2.6.0
@pkgdeps/update-github-actions-permissions 
Update GitHub Actions's permissions automatically.
| Before | After |
|---|---|
![]() | ![]() |
Features
- Detect using Actions and add
permissionsfield to your action yaml file - Support 500+ GitHub Actions
Install
Install with npm:
npm install @pkgdeps/update-github-actions-permissions --globalor Install and Run via npx command:
npx @pkgdeps/update-github-actions-permissions ".github/workflows/*.{yaml,yml}"Usage
Usage
$ update-github-actions-permissions "[file|glob]"
Options
--defaultPermissions [String] "write-all" or "read-all" or "{}". Default: "write-all"
https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs
--verbose [Boolean] If enable verbose, output debug info.
--use-rule-definitions [String[]] Use rule definitions. Default: ["default", "step-security"]
Examples
$ update-github-actions-permissions ".github/workflows/test.yml"
# multiple inputs
$ update-github-actions-permissions ".github/workflows/test.yml" ".github/workflows/publish.yml"
$ update-github-actions-permissions ".github/workflows/*.{yml,yaml}"Add New Actions
This tool manage permissions in actions.yml.
If you want to improve the permissions definitions, please edit actions.yml.
- Edit actions.yml
- Submit a Pull Request
📝 This tool includes step-security/secure-repo definitions.
If same action is defined in both, this tool prefer to use actions.yml.
This order can be changed via --use-rule-definitions flag.
permissions examples
No require any permissions:
actions/setup-node:Read Content permissions:
actions/checkout:
permissions:
contents: readIssue/Pull Request comments permissions:
actions/stale:
permissions:
issues: write
pull-requests: writeUpdate content and create Pull Request permissions:
peter-evans/create-pull-request:
permissions:
contents: write
pull-requests: writeReferences
Detection logics
- Read your workflow file
- Collect
usesactions orenvwhich is using${{ secrets.GITHUB_TOKEN }} - Match actions with actions.yml
- If found unknown actions, write
defaultPermissions(permissions: write-all) to workflow file. - If found
envusage, writedefaultPermissions(permissions: write-all) to workflow file.- :memo:
NODE_AUTH_TOKENis special pattern. Current treats it ascontents: readandpackages: write.
- :memo:
- Else, put
permission: <combined permissions>to workflow file.
References
- 2023-02-03: GitHub change default permission to
contents: read
Changelog
See Releases page.
Running tests
Install devDependencies and Run npm test:
npm testContributing
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request :D
Author
License
This package is licensed under the AGPL(GNU Affero General Public License) v3.0. Because this package includes AGPL-licensed third-party resources like step-security/secure-repo.
- step-security.yml: AGPL v3.0 ©️ step-security/secure-repo
However, Next files are available under the MIT license:
bin/*src/*lib/*module/*test/*action.yml
Related
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago

