@@ -31,17 +31,27 @@ jobs:
31
31
npm ci --ignore-scripts
32
32
env :
33
33
NODE_AUTH_TOKEN : ${{ secrets.FONTAWESOME_AUTH_TOKEN }}
34
- - name : Build
35
- run : hugo --minify
36
- - name : Upload artifact
34
+ - name : Build production
35
+ run : hugo --minify --destination public/prod
36
+ - name : Build staging
37
+ run : hugo --baseURL=https://staging.cryptomator.org/ --environment=staging --minify --destination public/staging
38
+ - name : Add robots.txt for staging
39
+ run : ' echo -e "User-agent: *\nDisallow: /" > public/staging/robots.txt'
40
+ - name : Upload Prod Pages artifact
37
41
uses : actions/upload-pages-artifact@v3
38
42
with :
39
- path : ' public'
43
+ name : prod-site
44
+ path : ./public/prod
45
+ - name : Upload Staging artifacts
46
+ uses : actions/upload-artifact@v4
47
+ with :
48
+ name : staging-site
49
+ path : ./public/staging
40
50
41
- # DEPLOY
42
- deploy :
51
+ # DEPLOY PROD
52
+ deploy-prod :
43
53
if : github.ref == 'refs/heads/main'
44
- name : Deploy to GitHub Pages
54
+ name : Deploy Prod to GitHub Pages
45
55
runs-on : ubuntu-latest
46
56
needs : [build]
47
57
permissions : # Grant GITHUB_TOKEN the permissions required to make a Pages deployment
51
61
- name : Deploy to GitHub Pages
52
62
id : deployment
53
63
uses : actions/deploy-pages@v4 # or specific "vX.X.X" version tag for this action
64
+ with :
65
+ artifact_name : prod-site
54
66
environment : # Deploy to the github-pages environment
55
67
name : github-pages
56
68
url : ${{ steps.deployment.outputs.page_url }}
69
+
70
+ # DEPLOY STAGING
71
+ deploy-staging :
72
+ if : github.ref == 'refs/heads/develop'
73
+ name : Deploy Staging to GitHub Pages
74
+ runs-on : ubuntu-latest
75
+ needs : [build]
76
+ steps :
77
+ - name : Download build
78
+ uses : actions/download-artifact@v4
79
+ with :
80
+ name : staging-site
81
+ path : ./public
82
+ - name : Deploy to Staging Repository
83
+ uses : peaceiris/actions-gh-pages@v3
84
+ with :
85
+ personal_token : ${{ secrets.CRYPTOBOT_DEPLOY_STAGING_WEBSITE }}
86
+ external_repository : cryptomator/staging.cryptomator.org
87
+ publish_dir : ./public
88
+ publish_branch : main
89
+ cname : staging.cryptomator.org
90
+
0 commit comments