diff --git a/.github/workflows/deploy-preview.yml b/.github/workflows/deploy-preview.yml new file mode 100644 index 00000000000..5414122c62e --- /dev/null +++ b/.github/workflows/deploy-preview.yml @@ -0,0 +1,72 @@ +name: Deploy Preview + +on: + pull_request: + branches-ignore: + - changeset-release/main + types: + - opened + - reopened + - synchronize + - labeled + +concurrency: pr-${{ github.ref }} + +jobs: + deploy-preview: + if: ${{ contains(github.event.pull_request.labels.*.name, 'Deploy Preview') }} + needs: [build] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - uses: ./.github/workflows/actions/turbo + + # - name: Build + # run: pnpm build --cache-dir=.turbo --filter documentation + + - name: Publish + id: publish + uses: netlify/actions/cli@master + with: + args: deploy --build --context deploy-preview --filter documentation + env: + NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} + + - name: Find comments + id: find_comments + uses: actions-cool/issues-helper@v3 + with: + actions: 'find-comments' + token: ${{ secrets.GITHUB_TOKEN }} + issue-number: ${{ github.event.pull_request.number }} + comment-auth: 'github-actions[bot]' + body-includes: '🚢 PR Deployment is ready' + + - uses: actions/github-script@v7 + id: filter-comment + env: + COMMENTS_RESULT: ${{ steps.find_comments.outputs.comments }} + with: + script: | + const { COMMENTS_RESULT } = process.env; + const comments = JSON.parse(COMMENTS_RESULT); + if (comments.length === 1) { + return comments[0].id; + } + return ''; + result-encoding: string + + - name: Create PR comment + if: ${{ steps.filter-comment.outputs.result == '' }} + uses: actions-cool/issues-helper@v3 + with: + issue-number: ${{ github.event.pull_request.number }} + actions: 'create-comment' + token: ${{ secrets.GITHUB_TOKEN }} + body: | + 🚢 PR Deployment is ready + Preview ✅: [${{ steps.publish.outputs.NETLIFY_URL }}](${{ steps.publish.outputs.NETLIFY_URL }}) + Logs: [${{ steps.publish.outputs.NETLIFY_LOGS_URL }}](${{ steps.publish.outputs.NETLIFY_LOGS_URL }}) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index bc5d9771ac1..29878114447 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -139,62 +139,3 @@ jobs: - name: Test run: pnpm run test --cache-dir=.turbo --filter !\documentation - - - deploy-preview: - if: ${{ contains(github.event.pull_request.labels.*.name, 'Deploy Preview') }} - needs: [build] - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - uses: ./.github/workflows/actions/turbo - - # - name: Build - # run: pnpm build --cache-dir=.turbo --filter documentation - - - name: Publish - id: publish - uses: netlify/actions/cli@master - with: - args: deploy --build --context deploy-preview --filter documentation - env: - NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} - NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} - - - name: Find comments - id: find_comments - uses: actions-cool/issues-helper@v3 - with: - actions: 'find-comments' - token: ${{ secrets.GITHUB_TOKEN }} - issue-number: ${{ github.event.pull_request.number }} - comment-auth: 'github-actions[bot]' - body-includes: '🚢 PR Deployment is ready' - - - uses: actions/github-script@v7 - id: filter-comment - env: - COMMENTS_RESULT: ${{ steps.find_comments.outputs.comments }} - with: - script: | - const { COMMENTS_RESULT } = process.env; - const comments = JSON.parse(COMMENTS_RESULT); - if (comments.length === 1) { - return comments[0].id; - } - return ''; - result-encoding: string - - - name: Create PR comment - if: ${{ steps.filter-comment.outputs.result == '' }} - uses: actions-cool/issues-helper@v3 - with: - issue-number: ${{ github.event.pull_request.number }} - actions: 'create-comment' - token: ${{ secrets.GITHUB_TOKEN }} - body: | - 🚢 PR Deployment is ready - Preview ✅: [${{ steps.publish.outputs.NETLIFY_URL }}](${{ steps.publish.outputs.NETLIFY_URL }}) - Logs: [${{ steps.publish.outputs.NETLIFY_LOGS_URL }}](${{ steps.publish.outputs.NETLIFY_LOGS_URL }})