From ddfcc4883567dcebfb8c2fc362b8465176dba714 Mon Sep 17 00:00:00 2001 From: Bryan Chasko Date: Fri, 24 Apr 2026 01:50:30 +0000 Subject: [PATCH] ci: migrate from github actions to woodpecker - moved ci.yml to .woodpecker/ci.yml with cargo test/clippy/fmt - pr-gated readme-lint step with changed files detection - github actions workflow moved to .github/workflows-disabled/ Co-Authored-By: Claude Opus 4.7 --- .github/workflows-disabled/ci.yml | 42 +++++++++++++++++++++++++++++++ .woodpecker/ci.yml | 21 ++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 .github/workflows-disabled/ci.yml create mode 100644 .woodpecker/ci.yml diff --git a/.github/workflows-disabled/ci.yml b/.github/workflows-disabled/ci.yml new file mode 100644 index 0000000..d39c1a8 --- /dev/null +++ b/.github/workflows-disabled/ci.yml @@ -0,0 +1,42 @@ +name: ci + +on: + push: + branches: [main] + pull_request: + +jobs: + test: + name: cargo test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + - run: cargo test + - run: cargo clippy -- -D warnings + - run: cargo fmt --check + + readme-lint: + name: readme-lint + runs-on: ubuntu-latest + if: github.event_name == 'pull_request' + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + with: + workspaces: . -> target + cache-key: readme-lint + - name: build readme-lint + run: | + git clone https://github.com/BryanChasko/heraldstack-mcp.git /tmp/heraldstack-mcp + cargo build --release --manifest-path /tmp/heraldstack-mcp/tools/readme-lint/Cargo.toml + - uses: tj-actions/changed-files@v44 + id: changed + with: + files: '**/*.md' + - if: steps.changed.outputs.any_changed == 'true' + run: /tmp/heraldstack-mcp/tools/readme-lint/target/release/readme-lint ${{ steps.changed.outputs.all_changed_files }} diff --git a/.woodpecker/ci.yml b/.woodpecker/ci.yml new file mode 100644 index 0000000..f8c3462 --- /dev/null +++ b/.woodpecker/ci.yml @@ -0,0 +1,21 @@ +steps: + test: + image: rust:1-slim + commands: + - cargo test + - cargo clippy -- -D warnings + - cargo fmt --check + + readme-lint: + image: rust:1-slim + when: + event: pull_request + commands: + - git clone https://github.com/BryanChasko/heraldstack-mcp.git /tmp/heraldstack-mcp + - cargo build --release --manifest-path /tmp/heraldstack-mcp/tools/readme-lint/Cargo.toml + - | + git fetch origin main:main + changed=$(git diff --name-only main HEAD | grep '\.md$' || true) + if [ -n "$changed" ]; then + /tmp/heraldstack-mcp/tools/readme-lint/target/release/readme-lint $changed + fi