-
Notifications
You must be signed in to change notification settings - Fork 29
refactor: Remove dylints #4183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
refactor: Remove dylints #4183
Changes from all commits
aa9c811
07e2c20
5ed7c9a
7d2dab2
2381207
1610b27
dd6d8f6
704a943
d631861
7cc05d8
836be01
533201a
cb41d01
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -392,44 +392,30 @@ jobs: | |
| fail_ci_if_error: false | ||
| token: ${{ secrets.CODECOV_TOKEN }} # Uncomment if required for private repos | ||
|
|
||
| dylint: | ||
| name: Dylint Tests | ||
| lint: | ||
| name: Architecture Lints (cargo gears lint) | ||
| runs-on: ubuntu-latest | ||
| env: | ||
| RUSTUP_TOOLCHAIN: nightly-2026-04-16 | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | ||
|
|
||
| - name: Install Rust nightly toolchain | ||
| uses: dtolnay/rust-toolchain@5b842231ba77f5c045dba54ac5560fed2db780e2 # nightly | ||
| with: | ||
| toolchain: ${{ env.RUSTUP_TOOLCHAIN }} | ||
| components: llvm-tools-preview,rustc-dev | ||
|
|
||
| - name: Set Rust nightly for Dylint temp builds | ||
| run: rustup override set ${{ env.RUSTUP_TOOLCHAIN }} --path /tmp | ||
|
|
||
| - name: Install nextest | ||
| uses: taiki-e/install-action@6ef672efc2b5aabc787a9e94baf4989aa02a97df # v2.70.3 | ||
| with: | ||
| tool: nextest | ||
|
|
||
| - name: Install cargo-dylint and dylint-link from source | ||
| run: cargo install --locked cargo-dylint dylint-link | ||
| persist-credentials: false | ||
|
|
||
| - name: Install protoc | ||
| uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3.0.0 | ||
| with: | ||
| repo-token: ${{ secrets.GITHUB_TOKEN }} | ||
|
|
||
| - name: Run dylint tests | ||
| env: | ||
| RUSTFLAGS: "-C debuginfo=0" | ||
| run: make dylint-test | ||
| - name: Install Rust stable toolchain | ||
| uses: dtolnay/rust-toolchain@5b842231ba77f5c045dba54ac5560fed2db780e2 # stable | ||
| with: | ||
| toolchain: stable | ||
|
|
||
| - name: Run dylint on all crates | ||
| run: make dylint | ||
| - name: Install cargo-gears | ||
| run: cargo install --locked cargo-gears | ||
|
Comment on lines
+414
to
+415
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win Pin the The
📍 Affects 2 files
🤖 Prompt for AI Agents |
||
|
|
||
| - name: Run architecture lints | ||
| run: cargo gears lint --dylint | ||
|
|
||
| shear: | ||
| name: Unused Deps (cargo-shear) | ||
|
|
@@ -453,13 +439,10 @@ jobs: | |
| toolchain: ${{ env.RUSTUP_TOOLCHAIN }} | ||
| components: llvm-tools-preview,rustc-dev | ||
|
|
||
| - name: Install dylint-link from source | ||
| run: cargo install --locked dylint-link | ||
|
|
||
| - name: Install cargo-shear | ||
| uses: taiki-e/install-action@6ef672efc2b5aabc787a9e94baf4989aa02a97df # v2.70.3 | ||
| with: | ||
| tool: cargo-shear@1.13.1 | ||
|
|
||
| - name: cargo shear (workspace root + tools/dylint_lints) | ||
| - name: cargo shear (workspace root) | ||
| run: make shear | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| # Gears manifest. Used by `cargo gears` CLI for linting and other tasks. | ||
| # See https://github.com/constructorfabric/cargo-gears for documentation. | ||
|
|
||
| [apps.gears-rust.dev] | ||
| config = "lint.yml" | ||
| gears = [] | ||
|
|
||
|
Comment on lines
+4
to
+7
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Verify the location of lint.yml
fd lint.ymlRepository: constructorfabric/gears-rust Length of output: 182 🏁 Script executed: #!/bin/bash
set -euo pipefail
# Inspect the manifest entry and the code that loads its config path
git ls-files 'Gears.toml' 'config/lint.yml' | sed -n '1,20p'
echo '--- Gears.toml ---'
cat -n Gears.toml
echo '--- search for config path handling ---'
rg -n 'config\s*=|lint\.yml|Gears\.toml|cargo-gears|manifest' -S .Repository: constructorfabric/gears-rust Length of output: 50385 🏁 Script executed: #!/bin/bash
set -euo pipefail
# Inspect the manifest and any path resolution logic for the config field
cat -n Gears.toml
echo '---'
rg -n 'config\s*=|config path|resolve.*config|manifest.*path|from_manifest|PathBuf::from|canonicalize' -S .Repository: constructorfabric/gears-rust Length of output: 50385 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '--- repo files around manifest/gear config ---'
git ls-files | rg '(^|/)(Gears\.toml|Cargo\.toml|.*gear.*|.*manifest.*|.*config.*|src/|crates/)' | head -n 200
echo '--- Gears.toml ---'
cat -n Gears.toml
echo '--- find Rust files mentioning Gears.toml or config field ---'
rg -n --glob '!**/target/**' --glob '!**/*.min.*' --glob '!**/dist/**' --glob '!**/build/**' \
'Gears\.toml|config\s*=|lint\.yml|cargo-gears|manifest' \
src .github crates . 2>/dev/null | head -n 200Repository: constructorfabric/gears-rust Length of output: 11482 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '--- repo files around manifest/gear config ---'
git ls-files | rg '(^|/)(Gears\.toml|Cargo\.toml|.*gear.*|.*manifest.*|.*config.*|src/|crates/)' | head -n 200
echo '--- Gears.toml ---'
cat -n Gears.toml
echo '--- find Rust files mentioning Gears.toml or config field ---'
rg -n --glob '!**/target/**' --glob '!**/*.min.*' --glob '!**/dist/**' --glob '!**/build/**' \
'Gears\.toml|config\s*=|lint\.yml|cargo-gears|manifest' \
src crates .github 2>/dev/null | head -n 200Repository: constructorfabric/gears-rust Length of output: 11482 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf 'top-level files:\n'
git ls-files | awk -F/ 'NF==1{print}' | sort
printf '\npossible source files:\n'
git ls-files | rg '^(src|crates|apps)/.*\.(rs|toml)$' | head -n 200
printf '\nmanifest-related files:\n'
git ls-files | rg 'Gears\.toml|lint\.yml|Cargo\.toml|manifest' | head -n 200Repository: constructorfabric/gears-rust Length of output: 5038 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '--- exact references to lint.yml / Gears.toml in tracked source ---'
git ls-files '*.rs' '*.toml' | xargs rg -n --no-messages 'Gears\.toml|lint\.yml|config\s*=' | head -n 200Repository: constructorfabric/gears-rust Length of output: 22926 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '--- Rust files mentioning manifest/config logic ---'
git ls-files '*.rs' | xargs rg -n --no-messages 'Gears\.toml|config\s*=|lint\.yml|PathBuf|manifest|toml' | head -n 200
echo '--- tree of likely source roots ---'
fd -t f -d 2 . .Repository: constructorfabric/gears-rust Length of output: 20649 🏁 Script executed: #!/bin/bash
set -euo pipefail
# Search only Rust sources for manifest/config handling.
rg -n --glob '*.rs' --glob '!**/target/**' \
'Gears\.toml|config\s*=|lint\.yml|PathBuf::from|canonicalize|manifest' \
.Repository: constructorfabric/gears-rust Length of output: 50385 Point 🤖 Prompt for AI Agents |
||
| [apps.gears-rust.dev.lint] | ||
| fmt = false # already handled by `make fmt` | ||
| clippy = false # already handled by `make clippy` | ||
|
|
||
| [apps.gears-rust.dev.lint.dylint] | ||
| enabled = true | ||
| # Remove entries as violations are fixed or cargo-gears-lints is updated. | ||
| skip = [ | ||
| # New lint not yet addressed in this repo. | ||
| "de0504_client_versioning", | ||
| # Path exclusion logic in cargo-gears-lints uses "modules/" prefix but this | ||
| # repo uses "gears/". Skipped until cargo-gears-lints adds "gears/" support. | ||
| "de1101_tests_in_separate_files", | ||
| # Scope broadened from /contract/ to /domain/ in cargo-gears-lints. | ||
| # Pre-existing code in domain/ layers needs migration. | ||
| "de0101_no_serde_in_contract", | ||
| "de0102_no_toschema_in_contract", | ||
| ] | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| # Minimal config file required by the Gears manifest for linting. | ||
| server: {} |
Uh oh!
There was an error while loading. Please reload this page.