chore(ci): reorganize CI workflows and add depcheck and playwright jobs
This commit is contained in:
67
.github/workflows/ci.yaml
vendored
67
.github/workflows/ci.yaml
vendored
@ -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 }}"
|
17
.github/workflows/depcheck.yaml
vendored
Normal file
17
.github/workflows/depcheck.yaml
vendored
Normal file
@ -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
|
33
.github/workflows/playwright.yaml
vendored
Normal file
33
.github/workflows/playwright.yaml
vendored
Normal file
@ -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 }}
|
26
.github/workflows/vercel.yaml
vendored
Normal file
26
.github/workflows/vercel.yaml
vendored
Normal file
@ -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 }}
|
@ -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: [
|
||||
|
Reference in New Issue
Block a user