76 lines
2.6 KiB
YAML
76 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 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 }}"
|