Skip to content

Add password protection to PR preview deployments #18

Add password protection to PR preview deployments

Add password protection to PR preview deployments #18

on:
push:
branches:
- main
- addContent
workflow_dispatch:
permissions: write-all
name: Render and Publish
jobs:
build-deploy:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Set up Quarto
uses: quarto-dev/quarto-actions/setup@v2
- name: Install Python and Dependencies
uses: actions/setup-python@v4
with:
python-version: '3.9'
cache: 'pip'
- run: pip install jupyter
- run: quarto install tinytex
- run: pip install -r requirements.txt
- run: quarto render --to html
- name: Inject password into login page
run: |
# Replace {{SITE_PASSWORD}} with actual password from GitHub secret
if [ -f "_site/password-protect.html" ]; then
sed -i "s/{{SITE_PASSWORD}}/${{ secrets.SITE_PASSWORD }}/g" _site/password-protect.html
echo "Password injected successfully"
else
echo "Warning: password-protect.html not found"
fi
env:
SITE_PASSWORD: ${{ secrets.SITE_PASSWORD }}
- name: Publish to GitHub Pages (and render)
uses: quarto-dev/quarto-actions/publish@v2
with:
target: gh-pages
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # this secret is always available for github actions