# https://github.com/marketplace/actions/automatic-rebase (https://github.com/cirrus-actions/rebase) name: Comment on: issue_comment: types: - created permissions: contents: read # to fetch code (actions/checkout) pull-requests: read # to get info about PR (cirrus-actions/rebase) jobs: rebase: permissions: contents: write # to push code to rebase (cirrus-actions/rebase) pull-requests: read # to get info about PR (cirrus-actions/rebase) name: rebase runs-on: ubuntu-latest if: | github.event.issue.pull_request && startsWith(github.event.comment.body, '/rebase') steps: - name: Checkout repo uses: actions/checkout@v2 with: fetch-depth: 0 - name: Rebase PR uses: cirrus-actions/rebase@1.3.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} release_next: permissions: contents: read # to fetch code (actions/checkout) pull-requests: write # to create or update comment (peter-evans/create-or-update-comment) name: release:next runs-on: ubuntu-latest if: | github.event.issue.pull_request && github.event.sender.login == 'ianstormtaylor' && startsWith(github.event.comment.body, '/release:next') steps: - name: Checkout repo uses: actions/checkout@v2 with: fetch-depth: 0 - name: Checkout pull request run: hub pr checkout ${{ github.event.issue.number }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Setup node uses: actions/setup-node@v2 with: node-version: 20.x cache: yarn registry-url: https://registry.npmjs.org key: node20 - name: Install dependencies run: yarn - name: Prepare release run: yarn prerelease # https://github.com/atlassian/changesets/blob/master/docs/snapshot-releases.md - name: Release to @pr channel run: | yarn changeset version --snapshot yarn changeset publish --tag pr env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Get released version id: version run: echo ::set-output name=version::$(node -p "require('./packages/slate/package.json').version") - name: Create comment uses: peter-evans/create-or-update-comment@v1 with: issue-number: ${{ github.event.issue.number }} body: | A new release has been made for this pull request. You can install it with `yarn add slate@${{ steps.version.outputs.version }}`.