From 7cb80f2ce1f6cc837f64f94cb8eaf6c360e85705 Mon Sep 17 00:00:00 2001 From: tupe12334 Date: Thu, 20 Aug 2026 03:49:34 +0300 Subject: [PATCH] ci: adopt linecheck to enforce per-file line limits Add linecheck.yml (200/400 for source, 400/1000 for integration tests, generated files excluded) and a GitHub Actions workflow running linecheck on every PR and push to main. Closes #103 Co-Authored-By: Claude Fable 5 --- .github/workflows/linecheck.yml | 16 ++++++++++++++++ linecheck.yml | 20 ++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 .github/workflows/linecheck.yml create mode 100644 linecheck.yml diff --git a/.github/workflows/linecheck.yml b/.github/workflows/linecheck.yml new file mode 100644 index 0000000..3de9904 --- /dev/null +++ b/.github/workflows/linecheck.yml @@ -0,0 +1,16 @@ +name: linecheck + +on: + push: + branches: ["main"] + pull_request: + +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: tupe12334/linecheck@main + with: + version: "1.2.0" diff --git a/linecheck.yml b/linecheck.yml new file mode 100644 index 0000000..1281a1b --- /dev/null +++ b/linecheck.yml @@ -0,0 +1,20 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/tupe12334/linecheck/main/schema/linecheck.schema.json + +rules: + - pattern: "tests/**/*.rs" + warn: 400 + warn_message: "Integration test file is getting long — consider splitting by command" + error: 1000 + error_message: "Test file is too large to navigate — split before merging" + - pattern: "**/*" + warn: 200 + warn_message: "Getting long — consider splitting" + error: 400 + error_message: "File exceeds the hard limit — split before merging" + +exclude: + - "Cargo.lock" + - "CHANGELOG.md" + - "**/package-lock.json" + - "**/pnpm-lock.yaml" + - "assets/**"