@@ -31,17 +31,27 @@ jobs:
3131 npm ci --ignore-scripts
3232 env :
3333 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
3741 uses : actions/upload-pages-artifact@v3
3842 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
4050
41- # DEPLOY
42- deploy :
51+ # DEPLOY PROD
52+ deploy-prod :
4353 if : github.ref == 'refs/heads/main'
44- name : Deploy to GitHub Pages
54+ name : Deploy Prod to GitHub Pages
4555 runs-on : ubuntu-latest
4656 needs : [build]
4757 permissions : # Grant GITHUB_TOKEN the permissions required to make a Pages deployment
5161 - name : Deploy to GitHub Pages
5262 id : deployment
5363 uses : actions/deploy-pages@v4 # or specific "vX.X.X" version tag for this action
64+ with :
65+ artifact_name : prod-site
5466 environment : # Deploy to the github-pages environment
5567 name : github-pages
5668 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.github.io
87+ publish_dir : ./public
88+ publish_branch : main
89+ cname : staging.cryptomator.org
90+
0 commit comments