name: Deploy Quartz site to GitHub Pages on: schedule: - cron: '0 15 * * *' # Runs every day at 10 AM EST push: branches: - v4 workflow_dispatch: # Allows manual triggering permissions: contents: read pages: write id-token: write concurrency: group: "pages" cancel-in-progress: false jobs: build: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 with: fetch-depth: 0 # Fetch all history for git info submodules: recursive # Fetch submodules token: ${{ secrets.GH_PAT }} - name: Update Submodule run: | git config url."https://${{ secrets.GH_PAT }}:x-oauth-basic@github.com/".insteadOf "https://github.com/" git submodule update --remote --merge - name: Commit changes run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" git add . if git diff-index --quiet HEAD --; then echo "No changes to commit" else git commit -m "Update submodule via GitHub Action" git push fi - uses: actions/setup-node@v3 with: node-version: 18.14 - name: Install Dependencies run: npm ci - name: Build Quartz run: npx quartz build - name: Upload artifact uses: actions/upload-pages-artifact@v2 with: path: public deploy: needs: build environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2