50e547ae56
Build and Deploy Blog / build (push) Failing after 26s
act_runner v0.4.1 在 label 带 docker:// 的情况下会静默丢弃 jobs.<id>.container 块和 container.options 里的 -v(实测两条都不工作),改让 step 直接在 runner 容器 内跑,/blog-public 由 runner docker-compose 直接 bind 到 NAS。 - 删 jobs.build.container 块(被 runner 忽略,留着只是误导) - 删 verify mount 步骤(host 模式下挂载是 compose 层保证的) - 删 paths-ignore: deploy/**(repo 里没有) - Alpine runner 用 apk 装 curl/tar/rsync/git/bash
45 lines
1.3 KiB
YAML
45 lines
1.3 KiB
YAML
name: Build and Deploy Blog
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths-ignore:
|
|
- 'README.md'
|
|
- 'LICENSE'
|
|
- '.gitignore'
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
# host 模式:step 直接在 gitea-runner 容器内跑(Alpine),
|
|
# /blog-public 由 runner docker-compose 直接 bind 到 NAS,无需 act_runner 注入
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
fetch-depth: 0
|
|
|
|
- name: Install build tools (Alpine)
|
|
# runner 镜像是 alpine,只有 apk;每次跑装一遍,几秒钟,小代价换零状态
|
|
run: apk add --no-cache curl tar rsync git bash
|
|
|
|
- name: Install Hugo Extended
|
|
run: |
|
|
HUGO_VERSION=0.161.1
|
|
curl -fsSL "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz" | tar -xz
|
|
install hugo /usr/local/bin/
|
|
hugo version
|
|
|
|
- name: Build site
|
|
run: hugo --gc --minify
|
|
|
|
- name: Deploy to /blog-public
|
|
run: |
|
|
[ -d /blog-public ] || { echo "::error::/blog-public missing, runner compose 没挂上"; exit 1; }
|
|
rsync -av --delete public/ /blog-public/
|