prismarine-repo-actions
v1.4.0
Published
Github Action for automating repo actions via issue/PR commands
Downloads
9
Readme
prismarine-repo-commands
Github Action for automating repo actions via issue/PR comment commands. To run the commands on a PR, the user must be the PR author or a repo COLLABORATOR, MEMBER, or OWNER.
Install
Add a workflow looking like this in .github/workflows/comments.yml
:
Note: In order to use this Action, you need to generate a GitHub personal access token (PAT). While you can use the default GITHUB_TOKEN
token, commits and PRs created by the GITHUB_TOKEN won't trigger other workflows in the repository.
name: Repo Commands
on:
issue_comment: # Handle comment commands
types: [created]
pull_request_target: # Handle renamed PRs
types: [edited]
# NOTE: You must use a Personal Access Token (PAT) with repo access. While you can use the default GITHUB_TOKEN,
# actions taken with it will not trigger other actions, so if you have a CI workflow, commits created by this action will not trigger it.
jobs:
comment-trigger:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v3
with:
token: ${{ secrets.PAT_TOKEN }}
- name: Run command handlers
uses: PrismarineJS/prismarine-repo-actions@master
with:
token: ${{ secrets.PAT_TOKEN }}
# See `Options` section below for more info on these options
install-command: npm install
/fixlint.fix-command: npm run fix
Commands can be enabled/disabled by setting the /$command.enabled
property to true
or false
.
Options
Commands
- /makerelease [release version]
- Make a release PR (Node.js and Python projects) on projects that have a HISTORY.md file like this
- This command creates a new PR with a modified HISTORY.md adding a section with the latest commits since the last release and if they exist, updates the package.json (Node.js) or setup.py/pyproject.toml (Python) manifest files.
- This doesn't actually create a release, it just creates a PR that when merged, should trigger your actual release workflow. You can modify the generated changelog as needed.
- Example trigger and resulting release PR
- /fixlint
- Run a lint fix command on the current PR, then push the update to the PR
- Example trigger