Files
vue-ts-example/.github/workflows/ci.yaml
严浩 3ffb874049
All checks were successful
/ build-and-deploy-to-vercel (push) Successful in 2m6s
/ playwright (push) Successful in 2m55s
/ depcheck (push) Successful in 1m53s
chore: 在 CI 流程中添加 taze 依赖检查步骤
2024-10-18 17:06:19 +08:00

74 lines
2.6 KiB
YAML

# 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 lint
- run: npx vue-tsc --build --force # Vue 类型检查
- 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@e7fd5cc26bbf735f90a7236b9c34cf8e1a3de85f
- 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@e7fd5cc26bbf735f90a7236b9c34cf8e1a3de85f
- 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 }}"