prismarine-repo-actions

1.4.0 • Public • Published

prismarine-repo-commands

NPM version Build Status Try it on gitpod GitHub Sponsors
Official Discord

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

option default doc
token Required Github API key. Either a Personal Access Token (PAT) with repo access or the predefined ${{ secrets.PAT_TOKEN }}.
install-command "npm install" What command to run to install the repo if the command requires installing it
/makerelease.enabled true Whether or not to enable the `/makerelease` command
/makerelease.releaseCommitsStartWith "Release " When looking back through all the commits until the most recent release, what separator to stop at
/fixlint.enabled true Whether or not to enable the `/fixlint` command
/fixlint.fix-command "npm run fix" What command to use to fix the lint
llm-services-repo $currentOrganization/llm-services What repository to use to send LLM requests to via dispatch. For example, `PrismarineJS/llm-services`. Defaults to the triggering repo's org's `llm-services` repo.

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

Readme

Keywords

Package Sidebar

Install

npm i prismarine-repo-actions

Weekly Downloads

57

Version

1.4.0

License

MIT

Unpacked Size

5.06 MB

Total Files

25

Last publish

Collaborators

  • extremeheat