release.yml: - Windows 归档条件比较 matrix.os 与 windows-2019 永远为假,实际 依赖 MSYS 的 .exe 兜底才能工作,改为按 runner.os 判断 - publish 归档循环中 exe 变量不重置,目录顺序变化时会污染后续平台 - 替换已归档的 actions-rs/toolchain、actions-rs/cargo,改用 dtolnay/rust-toolchain 与 cross;checkout@v2(node12 已下线)升 v4 - 弃用的 ::set-output 改为 GITHUB_OUTPUT - 顶层收紧为 contents: read,仅 publish 任务授予写权限 ci.yml: - tag 触发从 '*' 收紧为 v[0-9]+.[0-9]+.[0-9]+,任意 tag 不再能 触发 PyPI 正式发布 - setup-node@v3 升 v4 docker-publish.yml: - 顶层 packages: write 会授予 pull_request 触发的 test 任务,收紧 为顶层只读、build/merge 任务单独授予 - 移除 buildx 已弃用的 install: true;docker-compose v1 命令改为 compose v2 子命令 docs-publish.yml:补 paths 过滤与显式权限。 Termux-publish.yml:setup-node@v3 升 v4。 新增 test.yml:PR 与 master push 运行 cargo test -p biliup -p biliup-cli -p danmaku,合并前有真实测试门禁。 Dockerfile:FFmpeg 从滚动的 latest tag 改为固定 autobuild 版本并 强制 SHA-256 校验,下载被篡改或损坏时构建失败。 docker-compose.yml:占位符 <HOST_PORT> 等使解析必然失败,改为 带默认值的环境变量;移除已废弃的 version 字段。 新增 .dockerignore:排除 .git、构建产物及本地数据库/凭据/日志, 避免进入构建上下文。
47 lines
1.1 KiB
YAML
47 lines
1.1 KiB
YAML
name: Zola on GitHub Pages
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- docs/**
|
|
pull_request:
|
|
paths:
|
|
- docs/**
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
if: github.ref != 'refs/heads/master'
|
|
steps:
|
|
- name: Checkout main
|
|
uses: actions/checkout@v4
|
|
- name: Build only
|
|
uses: shalzz/zola-deploy-action@v0.18.0
|
|
env:
|
|
BUILD_DIR: docs
|
|
BUILD_ONLY: true
|
|
BUILD_FLAGS: --drafts
|
|
# A GitHub token is not necessary when BUILD_ONLY is true
|
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
build_and_deploy:
|
|
runs-on: ubuntu-latest
|
|
if: github.ref == 'refs/heads/master'
|
|
permissions:
|
|
# 推送 gh-pages 分支需要写权限
|
|
contents: write
|
|
steps:
|
|
- name: Checkout main
|
|
uses: actions/checkout@v4
|
|
- name: Build and deploy
|
|
uses: shalzz/zola-deploy-action@v0.18.0
|
|
env:
|
|
BUILD_DIR: docs
|
|
PAGES_BRANCH: gh-pages
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|