|
8 | 8 |
|
9 | 9 | jobs: |
10 | 10 | deploy: |
11 | | - if: ${{ secrets.VERCEL_TOKEN != '' && secrets.VERCEL_ORG_ID != '' && secrets.VERCEL_PROJECT_ID != '' }} |
12 | 11 | runs-on: ubuntu-latest |
13 | 12 | steps: |
14 | 13 | - uses: actions/checkout@v4 |
| 14 | + - name: Check Vercel configuration |
| 15 | + id: vercel-config |
| 16 | + env: |
| 17 | + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} |
| 18 | + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} |
| 19 | + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} |
| 20 | + run: | |
| 21 | + if [ -n "${VERCEL_TOKEN}" ] && [ -n "${VERCEL_ORG_ID}" ] && [ -n "${VERCEL_PROJECT_ID}" ]; then |
| 22 | + echo "configured=true" >> "$GITHUB_OUTPUT" |
| 23 | + else |
| 24 | + echo "configured=false" >> "$GITHUB_OUTPUT" |
| 25 | + fi |
15 | 26 | - uses: actions/setup-node@v4 |
| 27 | + if: steps.vercel-config.outputs.configured == 'true' |
16 | 28 | with: |
17 | 29 | node-version: "22" |
18 | 30 | cache: "npm" |
19 | 31 | cache-dependency-path: docs/web/package-lock.json |
20 | 32 | - name: Install Vercel CLI |
| 33 | + if: steps.vercel-config.outputs.configured == 'true' |
21 | 34 | run: npm install --global vercel@latest |
22 | 35 | - name: Pull Vercel Environment |
| 36 | + if: steps.vercel-config.outputs.configured == 'true' |
23 | 37 | working-directory: docs/web |
24 | 38 | run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} |
25 | 39 | env: |
26 | 40 | VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} |
27 | 41 | VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} |
28 | 42 | - name: Build |
| 43 | + if: steps.vercel-config.outputs.configured == 'true' |
29 | 44 | working-directory: docs/web |
30 | 45 | run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} |
31 | 46 | env: |
32 | 47 | VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} |
33 | 48 | VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} |
34 | 49 | - name: Deploy |
| 50 | + if: steps.vercel-config.outputs.configured == 'true' |
35 | 51 | working-directory: docs/web |
36 | 52 | run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} |
37 | 53 | env: |
38 | 54 | VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} |
39 | 55 | VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} |
40 | | - |
41 | | - skip-without-secrets: |
42 | | - if: ${{ secrets.VERCEL_TOKEN == '' || secrets.VERCEL_ORG_ID == '' || secrets.VERCEL_PROJECT_ID == '' }} |
43 | | - runs-on: ubuntu-latest |
44 | | - steps: |
45 | 56 | - name: Skip deploy when Vercel secrets are missing |
| 57 | + if: steps.vercel-config.outputs.configured != 'true' |
46 | 58 | run: | |
47 | 59 | echo "Skipping Vercel production deploy because VERCEL_TOKEN, VERCEL_ORG_ID, or VERCEL_PROJECT_ID is not configured." |
48 | 60 | echo "Configure those repository secrets to enable automatic production deployment." |
0 commit comments