Skip to content

Commit 52d91b4

Browse files
authored
add netlify deploy as part of one step with build ; prod builds depending on branch
1 parent cc0da2f commit 52d91b4

File tree

1 file changed

+37
-25
lines changed

1 file changed

+37
-25
lines changed
Lines changed: 37 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,53 @@
11
name: build-and-deploy
22

3-
on:
4-
push:
5-
branches:
6-
- main
3+
on: [push]
4+
5+
env:
6+
BRANCH_NAME: ${{ github.ref_name }}
77

88
jobs:
9-
build:
9+
build-and-deploy:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: checkout code
13-
uses: actions/checkout@v3
13+
uses: actions/checkout@v4
1414
- name: setup node
15-
uses: actions/setup-node@v3
15+
uses: actions/setup-node@v4
1616
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'
2221
- name: build slides
2322
run: 'yes | slidev build'
2423
- name: upload build
2524
uses: actions/upload-artifact@v3
2625
with:
2726
name: build
2827
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

Comments
 (0)