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: true - 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 mv 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/