diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml deleted file mode 100644 index b37fcbe..0000000 --- a/.github/workflows/ci.yaml +++ /dev/null @@ -1,67 +0,0 @@ -# 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 - # 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: 构建项目 # vite build - run: pnpm exec vercel build --target=production --token=${{ secrets.VERCEL_TOKEN }} - env: - VITE_BUILD_COMMIT: ${{ github.sha }} - - run: pnpm run type-check # 要先 build,保证 components.d.ts 存在 - - 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 }}" diff --git a/.github/workflows/depcheck.yaml b/.github/workflows/depcheck.yaml new file mode 100644 index 0000000..d2d9be5 --- /dev/null +++ b/.github/workflows/depcheck.yaml @@ -0,0 +1,17 @@ +defaults: + run: + shell: bash +env: + TZ: Asia/Shanghai +on: + push: +jobs: + 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 diff --git a/.github/workflows/playwright.yaml b/.github/workflows/playwright.yaml new file mode 100644 index 0000000..88c2a73 --- /dev/null +++ b/.github/workflows/playwright.yaml @@ -0,0 +1,33 @@ +defaults: + run: + shell: bash +env: + TZ: Asia/Shanghai +on: + push: +jobs: + surge: + runs-on: ubuntu-latest + outputs: + url: ${{ steps.surge_deploy.outputs.url }} + 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 + playwright: + needs: surge + runs-on: ubuntu-latest + container: yanhao98/runner-images:pnpm-with-playwright + steps: + - uses: yanhao98/composite-actions/setup-node-environment@main + # - name: Install Playwright Browsers + # run: pnpm exec playwright install --with-deps + - name: Run Playwright tests + run: npx playwright test + env: + BASE_URL: ${{ needs.surge.outputs.url }} diff --git a/.github/workflows/vercel.yaml b/.github/workflows/vercel.yaml new file mode 100644 index 0000000..ea16876 --- /dev/null +++ b/.github/workflows/vercel.yaml @@ -0,0 +1,26 @@ +# https://cn.vitejs.dev/guide/static-deploy +defaults: + run: + shell: bash +env: + TZ: Asia/Shanghai +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 + # 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: 构建项目 # vite build + run: pnpm exec vercel build --target=production --token=${{ secrets.VERCEL_TOKEN }} + env: + VITE_BUILD_COMMIT: ${{ github.sha }} + - run: pnpm run type-check # 要先 build,保证 components.d.ts 存在 + - name: 部署到 Vercel + run: pnpm exec vercel deploy --prebuilt --target=production --token=${{ secrets.VERCEL_TOKEN }} diff --git a/playwright.config.ts b/playwright.config.ts index 7e217a6..4204e9d 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -31,6 +31,9 @@ export default defineConfig({ /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on-first-retry', }, + expect: { + timeout: 30 * 1000, + }, /* Configure projects for major browsers */ projects: [