Skip to content

Deploy Jekyll site to Pages #10

Deploy Jekyll site to Pages

Deploy Jekyll site to Pages #10

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll site to Pages
on:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Let user select which site to build on input: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_dispatchinputs
inputs:
sourceSite:
description: "Source site to build"
required: true
type: choice
options:
- pp
- gbl
env:
REGISTRY: ghcr.io
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
# Checkout Markdown code & assets for compiling with Jekyll
- name: Checkout
uses: actions/checkout@v4
with:
repository: gwu-libraries/jekyll-journals
# Using SSH to authenticate with this private repo
ssh-key: ${{ secrets.JEKYLL_JOURNALS_REPO_KEY }}
# Uses the `docker/login-action` action to log in to the Container registry registry.
- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# Retrieve our modified Jekyll image from GHCR
- name: Build site inside Docker container
run: |
mkdir ${PWD}/builds
docker pull ghcr.io/gwu-libraries/jekyll-journals-builder:main
docker run --volume="${PWD}/builds:/srv/dest" --volume="${PWD}/${{ inputs.sourceSite }}:/srv/source" --volume="jekyll-cache:/srv/source/.jekyll-cache" -e JEKYLL_ENV=production jekyll-journals-builder jekyll build -s /srv/source -d /srv/dest
# - name: Setup Pages
# id: pages
# uses: actions/configure-pages@v5
# - name: Build with Jekyll
# # Outputs to the './_site' directory by default
# run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
# env:
# JEKYLL_ENV: production
# - name: Upload artifact
# # Automatically uploads an artifact from the './_site' directory by default
# uses: actions/upload-pages-artifact@v3
# Deployment job
#deploy:
# environment:
# name: github-pages
# url: ${{ steps.deployment.outputs.page_url }}
# runs-on: ubuntu-latest
# needs: build
# steps:
# - name: Deploy to GitHub Pages
# id: deployment
# uses: actions/deploy-pages@v4