name: Vercel Deploy Preview env: VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} ALIASES: ${{ vars.ALIASES }} on: issue_comment: types: [created] pull_request_target: jobs: deploy: runs-on: ubuntu-latest if: >- ( ( github.event_name == 'issue_comment' && contains(github.event.comment.body, '/deploy') && github.event.issue.pull_request != null ) || ( github.event_name == 'pull_request_target' && contains(fromJson(vars.AUTO_DEPLOY_PRS), github.event.pull_request.number) ) ) permissions: pull-requests: write steps: - name: Checkout Base To Temp uses: actions/checkout@v2 with: path: temp-base-repo - name: Get deployment alias run: node temp-base-repo/scripts/githubActions.mjs getAlias id: alias env: ALIASES: ${{ env.ALIASES }} PULL_URL: ${{ github.event.issue.pull_request.url || github.event.pull_request.url }} - name: Checkout PR (comment) uses: actions/checkout@v2 if: github.event_name == 'issue_comment' with: ref: refs/pull/${{ github.event.issue.number }}/head - name: Checkout PR (pull_request) uses: actions/checkout@v2 if: github.event_name == 'pull_request_target' with: ref: refs/pull/${{ github.event.pull_request.number }}/head - run: npm i -g pnpm@9.0.4 - uses: actions/setup-node@v4 with: node-version: 18 cache: "pnpm" - name: Install Global Dependencies run: npm install --global vercel - name: Pull Vercel Environment Information run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} - name: Build Project Artifacts run: vercel build --token=${{ secrets.VERCEL_TOKEN }} - run: pnpm build-storybook - name: Copy playground files run: | mkdir -p .vercel/output/static/playground pnpm build-playground cp -r prismarine-viewer/dist/* .vercel/output/static/playground/ - name: Download Generated Sounds map run: node scripts/downloadSoundsMap.mjs - name: Deploy Project Artifacts to Vercel uses: mathiasvr/command-output@v2.0.0 with: run: vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }} id: deploy - uses: mshick/add-pr-comment@v2 # if: github.event_name == 'issue_comment' with: allow-repeats: true message: | Deployed to Vercel Preview: ${{ steps.deploy.outputs.stdout }} [Playground](${{ steps.deploy.outputs.stdout }}/playground/) [Storybook](${{ steps.deploy.outputs.stdout }}/storybook/) # - run: git checkout next scripts/githubActions.mjs - name: Set deployment alias if: ${{ steps.alias.outputs.alias != '' && steps.alias.outputs.alias != 'mcraft.fun' && steps.alias.outputs.alias != 's.mcraft.fun' }} run: vercel alias set ${{ steps.deploy.outputs.stdout }} ${{ steps.alias.outputs.alias }} --token=${{ secrets.VERCEL_TOKEN }} --scope=zaro