mirror of
https://github.com/davegallant/davegallant.github.io.git
synced 2025-08-05 16:23:39 +00:00
85 lines
2.0 KiB
YAML
85 lines
2.0 KiB
YAML
name: Publish Hugo Site
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
update_hugo_npm_dependencies:
|
|
name: Update Hugo npm Dependencies
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
outputs:
|
|
commit_hash: ${{ steps.commit_changes.outputs.commit_hash }}
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: "18"
|
|
|
|
- name: Install Hugo
|
|
uses: peaceiris/actions-hugo@v2
|
|
with:
|
|
hugo-version: "0.111.3"
|
|
extended: true
|
|
|
|
- name: Write composite package.json
|
|
run: hugo mod npm pack
|
|
|
|
- name: Install npm Packages
|
|
run: npm install
|
|
|
|
- name: Display Changes
|
|
run: git status
|
|
|
|
- name: Commit Changes
|
|
id: commit_changes
|
|
uses: stefanzweifel/git-auto-commit-action@v5
|
|
with:
|
|
commit_message: Update Hugo npm Dependencies
|
|
|
|
publish:
|
|
name: Publish Hugo Site
|
|
needs: update_hugo_npm_dependencies
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
deployments: write
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
|
ref: ${{ needs.update_hugo_npm_dependencies.outputs.commit_hash }}
|
|
|
|
- name: Install Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: "18"
|
|
|
|
- name: Install Hugo
|
|
uses: peaceiris/actions-hugo@v2
|
|
with:
|
|
hugo-version: "0.111.3"
|
|
extended: true
|
|
|
|
- name: Install npm Packages
|
|
run: npm ci
|
|
|
|
- name: Build Hugo
|
|
run: hugo --minify
|
|
|
|
- name: Deploy to Cloudflare Pages
|
|
uses: cloudflare/pages-action@v1
|
|
with:
|
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
projectName: hugo-theme-gruvbox
|
|
directory: ./public
|
|
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
|