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 */
|
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
|
||||||
trace: 'on-first-retry',
|
trace: 'on-first-retry',
|
||||||
},
|
},
|
||||||
|
expect: {
|
||||||
|
timeout: 30 * 1000,
|
||||||
|
},
|
||||||
|
|
||||||
/* Configure projects for major browsers */
|
/* Configure projects for major browsers */
|
||||||
projects: [
|
projects: [
|
||||||
|
Reference in New Issue
Block a user