- CLI 定义迁移至 src/bashly.yml(bashly 1.4 生成参数解析),入口收敛为 src/root_command.sh - 源码按功能域重组:config/storage/integrate/media/pipeline,消除扁平散落 - 新增零依赖测试框架 tests/(123 用例)与 CI 流水线(lint + test + build + 产物一致性) - build.sh 支持版本单一来源注入与 --check 产物校验;新增 lint.sh(bash -n + shellcheck 零容忍) - 删除旧单文件 media_organizer.sh 与旧扁平模块
42 lines
989 B
YAML
42 lines
989 B
YAML
# ============================================================================
|
||
# CI:静态检查 → 单元测试 → 构建一致性
|
||
# 触发:push / pull_request(默认分支与 PR)
|
||
# ============================================================================
|
||
name: CI
|
||
|
||
on:
|
||
push:
|
||
branches: [main]
|
||
pull_request:
|
||
|
||
jobs:
|
||
quality:
|
||
name: lint + test + build
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
|
||
- name: Install shellcheck
|
||
run: sudo apt-get update && sudo apt-get install -y shellcheck
|
||
|
||
- name: Setup Ruby (bashly)
|
||
uses: ruby/setup-ruby@v1
|
||
with:
|
||
ruby-version: '3.4'
|
||
|
||
- name: Install bashly
|
||
run: gem install bashly
|
||
|
||
- name: Lint (bash -n + shellcheck)
|
||
run: ./lint.sh
|
||
|
||
- name: Unit tests
|
||
run: ./tests/run.sh
|
||
|
||
- name: Build
|
||
run: ./build.sh
|
||
|
||
- name: Verify artifact freshness
|
||
run: ./build.sh --check
|