# https://cn.vitejs.dev/guide/static-deploy on: push: jobs: build-and-deploy-to-vercel: runs-on: ubuntu-latest steps: - uses: yanhao98/composite-actions/setup-node-environment@main - name: 静态代码分析 run: pnpm run lint - run: pnpm run build-only # 先 build,保证 components.d.ts 存在 - run: pnpm run type-check - run: cat .npmrc - name: 修改 .npmrc run: | sed -i '/use-node-version/d' .npmrc; sed -i '/node-mirror/d' .npmrc; # https://github.com/vercel/examples/tree/main/ci-cd/github-actions # cname-cn.vercel.com cname-china.vercel-dns.com - name: 拉取 Vercel 环境信息 run: pnpm exec vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} - name: 构建项目 run: pnpm exec vercel build --target=production --token=${{ secrets.VERCEL_TOKEN }} env: VITE_BUILD_COMMIT: ${{ github.sha }} - name: 部署到 Vercel run: pnpm exec vercel deploy --prebuilt --target=production --token=${{ secrets.VERCEL_TOKEN }} playwright: # act --job playwright --workflows .github/workflows/ci.yaml --pull=false --dryrun runs-on: ubuntu-latest container: yanhao98/runner-images:pnpm-with-playwright steps: - uses: yanhao98/composite-actions/setup-node-environment@main - run: pnpm run build-only env: VITE_BUILD_COMMIT: ${{ github.sha }} - name: 部署到 Surge id: surge_deploy if: ${{ github.actor != 'nektos/act' }} # https://nektosact.com/usage/index.html#skipping-steps uses: yanhao98/composite-actions/deploy-dist-to-surge@main - name: Install Playwright Browsers run: pnpm exec playwright install --with-deps - name: Run Playwright tests run: pnpm exec playwright test env: BASE_URL: ${{ steps.surge_deploy.outputs.url }} depcheck: runs-on: ubuntu-latest steps: - uses: yanhao98/composite-actions/setup-node-environment@main - run: npx depcheck || true - run: node .depcheck.js - run: npx taze --help - run: npx taze - run: npx taze -a # surge-preview: # runs-on: ubuntu-latest # permissions: # pull-requests: write # allow surge-preview to create/update PR comments # steps: # - uses: yanhao98/composite-actions/setup-node-environment@main # - uses: afc163/surge-preview@v1 # id: surge_preview_step # with: # dist: dist # build: pnpm run build-only # - name: Get the preview_url # run: echo "url => ${{ steps.surge_preview_step.outputs.preview_url }}"