name: CI on: pull_request: jobs: qualilty-checks: runs-on: ubuntu-latest permissions: write-all steps: - name: Checkout repository uses: actions/checkout@master - name: Setup Java JDK uses: actions/setup-java@v1.4.3 with: java-version: 17 java-package: jre - name: Install pnpm run: npm i -g pnpm@9.0.4 - uses: actions/setup-node@v4 with: node-version: 18 # cache: "pnpm" - run: pnpm install - run: pnpm check-build - run: pnpm build-playground - run: pnpm build-storybook - run: pnpm test-unit - run: pnpm lint - run: pnpm tsx scripts/buildNpmReact.ts - run: nohup pnpm prod-start & - run: nohup pnpm test-mc-server & - uses: cypress-io/github-action@v5 with: install: false - uses: actions/upload-artifact@v3 if: failure() with: name: cypress-images path: cypress/screenshots/ # - run: node scripts/outdatedGitPackages.mjs # if: ${{ github.event.pull_request.base.ref == 'release' }} # env: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} vercel-auto-deploy: runs-on: ubuntu-latest if: >- env.AUTO_DEPLOY_PRS contains $'\n' + toString(github.event.pull_request.number) + $'\n' || startsWith(env.AUTO_DEPLOY_PRS, toString(github.event.pull_request.number) + $'\n') || endsWith(env.AUTO_DEPLOY_PRS, $'\n' + toString(github.event.pull_request.number)) || env.AUTO_DEPLOY_PRS == toString(github.event.pull_request.number) permissions: pull-requests: write steps: - name: Checkout uses: actions/checkout@v2 - 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 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: Get deployment alias run: node scripts/githubActions.mjs getAlias id: alias env: ALIASES: ${{ env.ALIASES }} PULL_URL: ${{ github.event.issue.pull_request.url }} - 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