-
-
Notifications
You must be signed in to change notification settings - Fork 112
refactor: kind of everything #421
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
Closed
Closed
Changes from 103 commits
Commits
Show all changes
170 commits
Select commit
Hold shift + click to select a range
f61e764
feat: optimize data structures for memory efficiency and performance
Copilot c431733
fix: update tests to work with optimized SmallVec data structures
Copilot e1115fd
feat: implement robust caching system with intelligent eviction and c…
Copilot 8f1019c
style: format code according to rustfmt standards
Copilot 898758e
chore: lint fix
MuntasirSZN 8426154
fix: resolve all clippy warnings with code improvements and boxing op…
Copilot 9547f23
chore: lint fix and remove allow 'unused' and 'dead_code' annotations
MuntasirSZN 8758985
fix: remove unused smallvec macro import
Copilot d83e2ff
fix: apply coderabbitai review fixes for cache, documentation, and un…
Copilot f1293db
refactor: use target/rustowl/cache, bring back dead_code and unused
MuntasirSZN 57d6da3
fix: prevent cache memory overshoot by adding post-insertion eviction…
Copilot e555ccb
chore: apply fixes
MuntasirSZN 0f96914
chore: format
MuntasirSZN 98ce316
chore: fix
MuntasirSZN cd118b9
chore: remove unused import
MuntasirSZN c8a3c5d
feat: implement error handling with eros crate
Copilot e2ebac7
feat: migrate from tower-lsp to tower-lsp-server for better maintenance
Copilot c8c6f6d
refactor: improve shells.rs to delegate to clap_complete instead of c…
Copilot fd4c969
docs: add comprehensive documentation to core modules
Copilot 75fae53
test: add comprehensive unit tests for utils, error, and shells modules
Copilot 5ea3ff9
perf: optimize string operations and improve error handling robustness
Copilot dab8dde
chore: fix deps and issues
MuntasirSZN 47aba25
chore: cleanup
MuntasirSZN 3ac859c
chore: cleanup again
MuntasirSZN 0be4ce6
chore: format
MuntasirSZN f7dfd5f
chore: remove pub extern crate
MuntasirSZN d28d08f
chore: remove tracing again
MuntasirSZN c0ae6b0
chore: invasive replace all hashmaps and hashsets with indexmap + fol…
MuntasirSZN 717fc6a
chore: fix, use quality foldhash hasher, fix seen_ids|
MuntasirSZN aa5c873
chore: fix tests
MuntasirSZN b84b9e3
chore: foldhash, tracing, tracing_subscriber
MuntasirSZN 4e296af
chore: format sh files and shellcheck
MuntasirSZN 5198f6c
fix: resolve rustowl check command workspace detection issue
Copilot 43b3f1a
chore: format
MuntasirSZN d25c27d
chore: remove debug
MuntasirSZN 305e2c3
perf: centralize MIR helpers, optimize range merging, add SmolStr + o…
MuntasirSZN f073cc4
perf: enable memchr path by default, remove simd_opt feature
MuntasirSZN c190dc1
chore: remove unused effective_live helper
MuntasirSZN 9002718
chore(bench): run both rustowl_bench_simple and line_col_bench via BE…
MuntasirSZN b667a19
chore(bench): remove duplicate body, fix measurement_time collection …
MuntasirSZN 19e042e
feat(bench): add line_col_bench and rand dev-dependency
MuntasirSZN 92d522f
perf(analyze): stream live location ranges and reduce allocations
MuntasirSZN 356a1d0
refactor(core): reorder modules and replace async join loop with sync…
MuntasirSZN e7618d0
refactor(logging): centralize initialize_logging in library and use a…
MuntasirSZN f9713bf
chore(lsp): elevate invalid target to error and async file read
MuntasirSZN 0213f70
chore: minor fs path usage and formatting in utils/toolchain
MuntasirSZN 237c3a7
chore: update deps and lockfile
MuntasirSZN d019847
chore: add a lot of tests (coverage 64.02%) (#91)
Copilot a1b309a
chore: remove weird tests
MuntasirSZN 1630cb5
feat(cache,lsp): add mtime invalidations metric, refactor cache get, …
MuntasirSZN 822902b
chore: format
MuntasirSZN 8cd6250
chore: add more tests (72% coverage)
MuntasirSZN 3989cb3
chore: remove weird tests
MuntasirSZN 433d748
chore: remove weird tests
MuntasirSZN 44a05a5
chore: fix miri
MuntasirSZN 0684c3e
chore: add coverage workflow + change checks workflow
MuntasirSZN ffca827
chore: fix tests
MuntasirSZN 9b809ae
chore: fix workflow
MuntasirSZN ebef0bc
chore: fix workflow
MuntasirSZN b62beca
chore: fix and enrich
MuntasirSZN 4ec6636
chore: fix
MuntasirSZN 02fcce8
chore: add perms
MuntasirSZN 89362a9
chore: add cache
MuntasirSZN 463a074
chore: fix workflow
MuntasirSZN fe8e34c
Update coverage.yml
MuntasirSZN cda0d98
Update coverage.yml
MuntasirSZN 0f47fee
chore: fix?
MuntasirSZN 6d03e7b
Merge branch 'main' into feat/test-frenzy
MuntasirSZN 1ac6f85
chore: fix lockfile
MuntasirSZN 9ec0d53
Merge branch 'main' into feat/test-frenzy
MuntasirSZN cf2e049
Merge branch 'main' into feat/test-frenzy
MuntasirSZN eefd856
chore: lockfile
MuntasirSZN 0324904
ci: use moonrepo/setup-rust, use oidc in crates.io, use committed, ca…
MuntasirSZN b6c993f
fix
MuntasirSZN 2ced635
Update build.yaml
MuntasirSZN 0e68bfc
remove
MuntasirSZN a0f4fc7
fix
MuntasirSZN a6f45b9
fix
MuntasirSZN 5daa325
Merge remote-tracking branch 'origin/main' into feat/test-frenzy
MuntasirSZN 955c3c6
finale
MuntasirSZN 47fe970
finale
MuntasirSZN 7719c4a
Update zizmor.yml
MuntasirSZN 3e5db6b
Update validate-pr-title.yml
MuntasirSZN 7fe4e17
finale
MuntasirSZN c959f78
finale
MuntasirSZN 48ebe6f
feat: rustc 1.92.0
MuntasirSZN dac801a
fix: now errors if rustowlc (child) errors, fixed erroring in 1.92.0
MuntasirSZN bbb125b
format
MuntasirSZN 0eb60fb
chore: move to divan instead of criterion
MuntasirSZN d730f06
Merge remote-tracking branch 'origin/main' into feat/test-frenzy
MuntasirSZN 3a6eecd
Merge remote-tracking branch 'upstream/ci/refactor' into feat/test-fr…
MuntasirSZN 6c7735f
fix: run pinact
MuntasirSZN 40246bd
fix: zizmor
MuntasirSZN cf07985
fix: fixes>
MuntasirSZN 7049c79
feat: improve logging by a gazillion times
MuntasirSZN b984475
fix: remove spammy TRACE
MuntasirSZN d4e08b3
fix: update deps (cve)
MuntasirSZN df1f155
fix: workflow
MuntasirSZN 3e74532
Update build.yaml
MuntasirSZN 598b009
fix: workflows issues
MuntasirSZN c50a868
refactor!: more perf, acknowledge review comments
MuntasirSZN f7bb77d
Merge remote-tracking branch 'upstream/main' into feat/test-frenzy
MuntasirSZN d86a781
chore: done
MuntasirSZN 69b7a5e
Delete PROMPT.md
MuntasirSZN 2cdc554
Update utils.rs
MuntasirSZN 9ac8672
Update cache.rs
MuntasirSZN 230d4dc
Update rustowlc.rs
MuntasirSZN af20da8
Merge remote-tracking branch 'upstream/main' into feat/test-frenzy
MuntasirSZN cf738cf
fix: allow webpki license
MuntasirSZN 09ee9bb
fix: acknowledge comments?
MuntasirSZN 972a633
fix: acknowledge more comments
MuntasirSZN 61a0dbf
feat: coverage, miri, 75%
MuntasirSZN a37a68e
chore: run tests and build explicitly on target and os (no grey area)
MuntasirSZN 95b7f60
chore: explicit result type
MuntasirSZN 0ce45ca
Merge remote-tracking branch 'upstream/main' into feat/test-frenzy
MuntasirSZN ea16740
chore: fix
MuntasirSZN bb182a6
chore: never run in prs
MuntasirSZN c356ca1
chore: fix windows by forcing bash
MuntasirSZN 7d5b205
chore: fix again
MuntasirSZN d6cd701
chore: fix again 2
MuntasirSZN 76a50cb
chore: fix again 3
MuntasirSZN 54065f6
chore: fix again 4
MuntasirSZN 92d353d
chore: fix again 5
MuntasirSZN 59ce701
chore: fix again 6
MuntasirSZN fe58ba5
chore: fix again 7
MuntasirSZN 4c00270
chore: fix again 8
MuntasirSZN 3179257
chore: fix again 9
MuntasirSZN 694655a
refactor: use after finished download to disk then extract
MuntasirSZN 6940051
chore: fix
MuntasirSZN d0e9cbe
chore: fix
MuntasirSZN 3421205
chore: add codeql
MuntasirSZN a320fc5
chore: fix miri
MuntasirSZN 97ebaed
chore: fix codeql
MuntasirSZN 7d87080
chore: fix codeql 2
MuntasirSZN ffa5b95
test: remove early return (so it fails regardless)
MuntasirSZN ff676a7
test: fix windows test
MuntasirSZN b38a64c
test: fix tests
MuntasirSZN fccd4ff
test: fix tests for windows again
MuntasirSZN e0b81ac
test: fix tests by installing msvc
MuntasirSZN 4581de5
test: fix tests by installing msvc 2
MuntasirSZN 8370e4a
test: fix tests again by correcting script
MuntasirSZN 126709b
test: fix tests again by correcting script 2
MuntasirSZN 7d6dd2f
test: fix tests again by correcting script 3
MuntasirSZN f15582c
test: rename miri_async_test! to async_test!
MuntasirSZN ad69ed3
test: fix arm64 windows last time?
MuntasirSZN 72c061e
feat!: convert to workspace
MuntasirSZN b02aea8
fix: windows again (now ci in nightly)
MuntasirSZN e6f731e
ci: fix again
MuntasirSZN 45df60f
ci: fix again 2
MuntasirSZN 8f04bf0
ci: fix again 3
MuntasirSZN f4d4035
ci: fix again 4
MuntasirSZN 23fe75e
ci: fix again 5
MuntasirSZN 7bde1cc
ci: fix again 6
MuntasirSZN cb7b1c9
ci: fix again 7
MuntasirSZN 5719720
ci: fix again 8
MuntasirSZN 197cae8
ci: fix again 10
MuntasirSZN 0ec8069
ci: fix again 11
MuntasirSZN 3e2763e
ci: fix again 12
MuntasirSZN 4c48ced
ci: fix again 13
MuntasirSZN 41cb6a4
ci: fix again 13
MuntasirSZN 582f753
fix: use newest rustc jemalloc setup, fix tests, fix coverage
MuntasirSZN 46c309f
ci: fix finale
MuntasirSZN bc173f1
ci: finally fixed...
MuntasirSZN 563e501
ci: finally fixed... 2?
MuntasirSZN c4b9778
ci: fix x86_64-pc-windows-msvc
MuntasirSZN fbd549f
Merge remote-tracking branch 'upstream/main' into feat/test-frenzy
MuntasirSZN 7a60d79
chore: final update (@cordx56)
MuntasirSZN fdc0e76
fix: fix docker
MuntasirSZN a5c3ebc
fix: fix toolchain
MuntasirSZN c7e8217
fix: fix some more
MuntasirSZN File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,90 +1,94 @@ | ||
| name: Basic Checks | ||
|
|
||
| on: | ||
| pull_request: | ||
| branches: ["main"] | ||
| workflow_dispatch: | ||
| workflow_call: | ||
|
|
||
| permissions: | ||
| contents: read | ||
| env: | ||
| CARGO_TERM_COLOR: always | ||
| RUSTC_BOOTSTRAP: 1 | ||
|
|
||
| jobs: | ||
| check: | ||
| name: Format & Lint | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v6 | ||
|
|
||
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | ||
| with: | ||
| persist-credentials: false | ||
MuntasirSZN marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - name: Get Rust version | ||
| run: | | ||
| echo RUSTUP_TOOLCHAIN=$(cat ./scripts/build/channel) >> $GITHUB_ENV | ||
|
|
||
| - name: Install Rust toolchain | ||
| uses: dtolnay/rust-toolchain@stable | ||
| uses: dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 | ||
| with: | ||
| toolchain: ${{ env.RUSTUP_TOOLCHAIN }} | ||
| components: clippy,rustfmt,llvm-tools,rust-src,rustc-dev | ||
|
|
||
| - name: Cache dependencies | ||
| uses: Swatinem/rust-cache@v2 | ||
| uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2 | ||
| with: | ||
| save-if: ${{ github.ref == 'refs/heads/main' }} | ||
|
|
||
| - name: Check formatting | ||
| run: cargo fmt --check | ||
|
|
||
| - name: Run clippy | ||
| run: cargo clippy --all-targets --all-features -- -D warnings | ||
|
|
||
| test: | ||
| name: Build & Test | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v6 | ||
|
|
||
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | ||
| with: | ||
| persist-credentials: false | ||
| - name: Install cargo-nextest | ||
| uses: taiki-e/install-action@bfc291e1e39400b67eda124e4a7b4380e93b3390 # v2.65.0 | ||
| with: | ||
| tool: cargo-nextest | ||
| - name: Cache dependencies | ||
| uses: Swatinem/rust-cache@v2 | ||
|
|
||
| uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2 | ||
| - name: Run tests with nextest | ||
| run: cargo nextest run | ||
| - name: Run doc tests | ||
| run: cargo test --doc | ||
| - name: Build release | ||
| run: ./scripts/build/toolchain cargo build --release | ||
|
|
||
| - name: Install binary | ||
| run: ./scripts/build/toolchain cargo install --path . | ||
|
|
||
| - name: Test rustowl check | ||
| run: rustowl check ./perf-tests/dummy-package | ||
|
|
||
| vscode: | ||
| name: VS Code Extension Checks | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v6 | ||
|
|
||
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | ||
| with: | ||
| persist-credentials: false | ||
| - name: Setup Node.js | ||
| uses: actions/setup-node@v6 | ||
| uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 | ||
| with: | ||
| node-version: 20 | ||
|
|
||
| - name: Setup PNPM And Install dependencies | ||
| uses: pnpm/action-setup@v4 | ||
| uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 | ||
| with: | ||
| package_json_file: ./vscode/package.json | ||
| run_install: | | ||
| - cwd: ./vscode | ||
|
|
||
| - name: Check formatting | ||
| run: pnpm prettier -c src | ||
| working-directory: ./vscode | ||
|
|
||
| - name: Lint and type check | ||
| run: pnpm lint && pnpm check-types | ||
| working-directory: ./vscode | ||
|
|
||
| - name: Run tests | ||
| run: xvfb-run -a pnpm run test | ||
| working-directory: ./vscode | ||
| cargo-deny: | ||
| runs-on: ubuntu-22.04 | ||
| steps: | ||
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | ||
| with: | ||
| persist-credentials: false | ||
| - uses: EmbarkStudios/cargo-deny-action@76cd80eb775d7bbbd2d80292136d74d39e1b4918 # v2.0.14 | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is this pinned to specific version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Security?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Security? I thought that specifying patch version results in missing security patch update...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And if you do the old syntax, one can push anything and change tag and boom! @cordx56
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then, we should use version checking bot like dependabot.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thats already done @cordx56. Its just another layer so its kind of bullet proof.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The vulnerability i mentioned, none can do nothing. Other than pinning the long hash (all big projects do this)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dependabot tracks tags, not anything else. So keeping tag same will silently pull new commits. This stops that. Dependabot will still update this (see the comment after some space? Thats the format)