mirror of
https://github.com/davegallant/davegallant.github.io.git
synced 2025-08-06 00:33:39 +00:00
Add publish workflow
This commit is contained in:
87
.github/workflows/publish.yml
vendored
Normal file
87
.github/workflows/publish.yml
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
name: Publish Hugo Site
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths-ignore:
|
||||
- templates/**
|
||||
|
||||
workflow_run:
|
||||
workflows: ["Update Projects Page"]
|
||||
types:
|
||||
- completed
|
||||
|
||||
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: write
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
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 GitHub Pages
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./public
|
Reference in New Issue
Block a user