ci: add build workflow, dependabot config, and Pages deploy

- build.yml: hugo extended 0.154.0, runs on PR + main push, uploads
  exampleSite artifact for inspection
- deploy.yml: deploys exampleSite to GitHub Pages on main push using
  actions/configure-pages + actions/deploy-pages (modern flow, no
  gh-pages branch)
- dependabot.yml: weekly action version updates

One-time manual: enable Pages in repo settings (Source = GitHub Actions)
before deploy.yml will succeed.
This commit is contained in:
tiennm99 committed 2026-05-01 14:17:00 +07:00
1 parent 3c61e89adb
commit f2b6737960
3 files changed
+108

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 5
commit-message:
prefix: chore
include: scope
+40
View File
@@ -0,0 +1,40 @@
name: build
on:
pull_request:
branches: [main]
push:
branches: [main]
permissions:
contents: read
concurrency:
group: build-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Setup Hugo Extended
uses: peaceiris/actions-hugo@v3
with:
hugo-version: '0.154.0'
extended: true
- name: Build exampleSite
working-directory: exampleSite
run: hugo --gc --minify --themesDir ../.. --printPathWarnings
- name: Upload built site
uses: actions/upload-artifact@v4
with:
name: exampleSite-public
path: exampleSite/public
retention-days: 7
+57
View File
@@ -0,0 +1,57 @@
name: deploy
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: pages
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- id: pages
uses: actions/configure-pages@v5
- name: Setup Hugo Extended
uses: peaceiris/actions-hugo@v3
with:
hugo-version: '0.154.0'
extended: true
- name: Build with production baseURL
working-directory: exampleSite
run: |
hugo \
--gc \
--minify \
--themesDir ../.. \
--baseURL "${{ steps.pages.outputs.base_url }}/"
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: exampleSite/public
deploy:
needs: build
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- id: deployment
uses: actions/deploy-pages@v4