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、构建产物及本地数据库/凭据/日志, 避免进入构建上下文。
31 lines
669 B
YAML
31 lines
669 B
YAML
name: Test
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
rust:
|
|
name: Rust tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
# biliup-cli 通过 rust-embed 嵌入 out/ 前端产物,需要先构建
|
|
- name: Build frontend
|
|
run: |
|
|
npm install
|
|
npm run build
|
|
- name: Install stable toolchain
|
|
uses: dtolnay/rust-toolchain@stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: Run tests
|
|
run: cargo test --locked -p biliup -p biliup-cli -p danmaku
|