码桶
发现社区成员的开源项目
deploy.yml1.3 KB
# Production CI/CD pipeline — deploys to the main CF Pages project on push to main
name: CI/CD
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- run: npm ci
- name: Lint
run: npm run lint
- name: Test
run: npm test
- name: Install Playwright Browsers
run: npx playwright install chromium --with-deps
- name: E2E Tests
run: npx playwright test
continue-on-error: true
- name: Upload Playwright Report
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: playwright-report/
retention-days: 7
- name: Build
run: npm run build
- name: Deploy to Cloudflare Pages
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy dist --project-name cf-dns-manager