create comment on pull request, if exists update that comment.
Find a file
2021-02-25 16:23:38 +09:00
.github/workflows build: build custom header implement 2020-02-04 17:24:40 +09:00
__tests__ update test 2021-02-25 16:23:13 +09:00
dist dist with new generator 2021-02-25 16:22:36 +09:00
lib dist with new generator 2021-02-25 16:22:36 +09:00
src dist with new generator 2021-02-25 16:22:36 +09:00
.eslintignore update setup 2021-02-25 16:21:42 +09:00
.eslintrc.json update setup 2021-02-25 16:21:42 +09:00
.gitattributes ignore dist diff 2021-02-25 16:23:38 +09:00
.gitignore chore: ignore vscode setting 2019-11-23 10:43:26 +09:00
.prettierignore update setup 2021-02-25 16:21:42 +09:00
.prettierrc.json update setup 2021-02-25 16:21:42 +09:00
.tool-versions update node 2021-01-21 07:43:05 +09:00
action.yml update setup 2021-02-25 16:21:42 +09:00
jest.config.js Initial commit 2019-11-21 08:05:13 +09:00
LICENSE Initial commit 2019-11-21 08:05:13 +09:00
package-lock.json update setup 2021-02-25 16:21:42 +09:00
package.json update setup 2021-02-25 16:21:42 +09:00
README.md Fix unexpected delete fail 2021-01-22 02:29:12 +09:00
tsconfig.json update setup 2021-02-25 16:21:42 +09:00
wallaby.js chore: wallaby config 2019-11-23 10:10:39 +09:00

Sticky Pull Request Comment

Create comment on pull request, if exists update that comment. This library runs with GitHub Actions. If you feel that the example grammar below is not friendly enough, we recommend reading this page first.

Usage:

Basic

uses: marocchino/sticky-pull-request-comment@v2
with:
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  message: |
    Release ${{ github.sha }} to <https://pr-${{ github.event.number }}.example.com>    

Keep more than one comment

In some cases, different actions may require different comments. The header allows you to maintain comments independently.

release:
  ...
  - uses: marocchino/sticky-pull-request-comment@v2
  with:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    header: release
    message: |
      Release ${{ github.sha }} to <https://pr-${{ github.event.number }}.example.com>      

test:
  ...
  - name: Run Test
  id: test
  run: |
    OUTPUT=$(rake test)
    OUTPUT="${OUTPUT//'%'/'%25'}【7,6 m】"
    OUTPUT="${OUTPUT//$'\n'/'%0A'}"
    OUTPUT="${OUTPUT//$'\r'/'%0D'}"
    echo "::set-output name=result::$OUTPUT"    
  - uses: marocchino/sticky-pull-request-comment@v2
  with:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    header: test
    message: |
      ```
      ${{ steps.test.outputs.result }}
      ```      

Append after comment every time it runs

test:
  ...
  - name: Run Test
  id: test
  run: |
    OUTPUT=$(rake test)
    OUTPUT="${OUTPUT//'%'/'%25'}【7,6 m】"
    OUTPUT="${OUTPUT//$'\n'/'%0A'}"
    OUTPUT="${OUTPUT//$'\r'/'%0D'}"
    echo "::set-output name=result::$OUTPUT"    
  - uses: marocchino/sticky-pull-request-comment@v2
  with:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    append: true
    message: |
      Test with ${{ github.sha }}.
      ```
      ${{ steps.test.outputs.result }}
      ```      

Comment from push

If for some reason, triggering on pr is not possible, you can use push.

- uses: jwalton/gh-find-current-pr@v1
id: finder
with:
  github-token: ${{ secrets.GITHUB_TOKEN }}
- uses: marocchino/sticky-pull-request-comment@v2
with:
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  number: ${{ steps.finder.outputs.pr }}
  message: |
    Test ${{ github.sha }} is successfully ended.
    This is message from push.    

Read comment from a file

uses: marocchino/sticky-pull-request-comment@v2
with:
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  path: path-to-comment-contents.txt

Delete previous commit and add comment at bottom

uses: marocchino/sticky-pull-request-comment@v2
with:
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  recreate: true
  message: |
    Release ${{ github.sha }} to <https://pr-${{ github.event.number }}.example.com>    

Delete previous comment

uses: marocchino/sticky-pull-request-comment@v2
with:
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  delete: true

Development

Install the dependencies

$ npm install

Build the typescript

$ npm run build

Run the tests ✔️

$ npm test

 PASS  ./index.test.js
  ✓ throws invalid number (3ms)wait 500 ms (504ms)test runs (95ms)

...

Publish to a distribution branch

Actions are run from GitHub repos. We will create a releases branch and only checkin production modules (core in this case).

Comment out node_modules in .gitignore and create a releases/v1 branch

# comment out in distribution branches
# node_modules/
$ git checkout -b releases/v1
$ git commit -a -m "prod dependencies"
$ npm prune --production
$ git add node_modules
$ git commit -a -m "prod dependencies"
$ git push origin releases/v1

Your action is now published! 🚀

See the versioning documentation