diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..758ffb5 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: 代码检测 + +on: + push: + branches: [main] + pull_request: + workflow_dispatch: + +jobs: + lint: + name: ruff + pyright + pytest + runs-on: ubuntu-latest + steps: + - name: 检出代码 + uses: actions/checkout@v4 + + - name: 安装 uv 与 Python 3.13 + uses: astral-sh/setup-uv@v5 + with: + python-version: "3.13" + enable-cache: true + + - name: 同步依赖(含 dev 组) + run: uv sync + + - name: ruff 静态检查 + run: uv run ruff check src tests examples + + - name: pyright 类型检查 + run: uv run pyright + + - name: pytest 单元测试 + run: uv run pytest diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 0000000..244de50 --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,29 @@ +name: 部署文档(Cloudflare Pages) + +on: + push: + branches: [main] + paths: + - "index.html" + - "_sidebar.md" + - "README.md" + - "docs/**" + - "examples/**" + - "CHANGELOG.md" + - "scripts/deploy_docs.sh" + - ".github/workflows/deploy-docs.yml" + workflow_dispatch: + +jobs: + deploy-docs: + name: Cloudflare Pages + runs-on: ubuntu-latest + steps: + - name: 检出代码 + uses: actions/checkout@v4 + + - name: 组装并部署(wrangler Direct Upload) + run: bash scripts/deploy_docs.sh + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}