Example for Pakistan DHS HH contacts #31
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Render Quarto Files and Deploy to GitHub Pages | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- '.devcontainer/**' | |
workflow_dispatch: # Manual trigger | |
jobs: | |
render_quarto: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
# - name: Build Docker image | |
# run: | | |
# docker build -t demo-quarto-image . | |
- name: Create gallery directory on the host | |
run: | | |
echo 'Creating gallery directory...' | |
mkdir -p gallery && chmod -R 777 gallery | |
echo 'gallery directory created.' | |
- name: Run Quarto in Docker container | |
run: | | |
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace mewu/data_access:latest bash -c "chmod +x ./run_quarto_publish.sh && ./run_quarto_publish.sh" | |
- name: Generate Index HTML | |
run: | | |
ls -laR gallery | |
echo "<html><body><h1>IDM Data Access / Analysis Gallery</h1><ul>" > gallery/index.html | |
find gallery -name "*.html" -not -name "index.html" | while read -r file; do | |
# Remove the 'gallery/' prefix from the file path | |
relative_path="${file#gallery/}" | |
file_name=$(basename "$file" .html) | |
echo "<li>$file_name <a href=\"./$relative_path\">$relative_path</a></li>" >> gallery/index.html | |
done | |
echo "</ul></body></html>" >> gallery/index.html | |
- name: Upload HTML output | |
uses: actions/upload-artifact@v4 | |
with: | |
name: gallery | |
path: gallery/ | |
- name: Set up Git user | |
run: | | |
git config --global user.name 'github-actions[bot]' | |
git config --global user.email 'github-actions[bot]@users.noreply.github.com' | |
- name: Deploy to GitHub Pages | |
if: github.ref == 'refs/heads/main' | |
uses: peaceiris/actions-gh-pages@v4 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: ./gallery # Path to the folder that you want to publish (the gallery folder) | |
publish_branch: docs # The branch used for GitHub Pages |