|
1 | 1 | name: build-and-deploy
|
2 | 2 |
|
3 |
| -on: |
4 |
| - push: |
5 |
| - branches: |
6 |
| - - main |
| 3 | +on: [push] |
| 4 | + |
| 5 | +env: |
| 6 | + BRANCH_NAME: ${{ github.ref_name }} |
7 | 7 |
|
8 | 8 | jobs:
|
9 |
| - build: |
| 9 | + build-and-deploy: |
10 | 10 | runs-on: ubuntu-latest
|
11 | 11 | steps:
|
12 | 12 | - name: checkout code
|
13 |
| - uses: actions/checkout@v3 |
| 13 | + uses: actions/checkout@v4 |
14 | 14 | - name: setup node
|
15 |
| - uses: actions/setup-node@v3 |
| 15 | + uses: actions/setup-node@v4 |
16 | 16 | with:
|
17 |
| - node-version: 20.5 |
18 |
| - - name: install slidevjs |
19 |
| - run: 'npm i -g @slidev/cli' |
20 |
| - - name: install Playwright |
21 |
| - run: 'npm i -D playwright-chromium' |
| 17 | + node-version: 20 |
| 18 | + cache: "npm" |
| 19 | + - name: install slidevjs + playwright |
| 20 | + run: 'npm i -g @slidev/cli && npm i -D playwright-chromium' |
22 | 21 | - name: build slides
|
23 | 22 | run: 'yes | slidev build'
|
24 | 23 | - name: upload build
|
25 | 24 | uses: actions/upload-artifact@v3
|
26 | 25 | with:
|
27 | 26 | name: build
|
28 | 27 | path: dist
|
29 |
| - deploy: |
30 |
| - needs: build |
31 |
| - runs-on: ubuntu-latest |
32 |
| - name: 'Deploy to Netlify' |
33 |
| - steps: |
34 |
| - - uses: jsmrcaga/[email protected] |
35 |
| - with: |
36 |
| - build_directory: dist |
37 |
| - build_command: 'npm i -g @slidev/cli ; npm i -D playwright-chromium ; yes | slidev build' |
38 |
| - NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} |
39 |
| - NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} |
40 |
| - NETLIFY_DEPLOY_MESSAGE: "Prod deploy v${{ github.ref }}" |
41 |
| - NETLIFY_DEPLOY_TO_PROD: true |
| 28 | + - name: Install Netlify |
| 29 | + run: npm install [email protected] -g |
| 30 | + - name: Deploy to Netlify |
| 31 | + id: netlify_deploy |
| 32 | + run: | |
| 33 | + prod_flag="" |
| 34 | + if [ "$BRANCH_NAME" = "main" ]; then prod_flag="--prod"; fi |
| 35 | + netlify deploy \ |
| 36 | + --dir dist \ |
| 37 | + --site ${{ secrets.NETLIFY_SITE_ID }} \ |
| 38 | + --auth ${{ secrets.NETLIFY_AUTH_TOKEN }} \ |
| 39 | + $prod_flag |
| 40 | + |
| 41 | +# deploy: |
| 42 | +# needs: build |
| 43 | +# runs-on: ubuntu-latest |
| 44 | +# name: 'Deploy to Netlify' |
| 45 | +# steps: |
| 46 | +# - uses: jsmrcaga/[email protected] |
| 47 | +# with: |
| 48 | +# build_directory: dist |
| 49 | +# build_command: 'npm i -g @slidev/cli ; npm i -D playwright-chromium ; yes | slidev build' |
| 50 | +# NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} |
| 51 | +# NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} |
| 52 | +# NETLIFY_DEPLOY_MESSAGE: "Prod deploy v${{ github.ref }}" |
| 53 | +# NETLIFY_DEPLOY_TO_PROD: true |
0 commit comments