Skip to content

Add CI workflow for xdr-generator-rust - #577

Open
leighmcculloch wants to merge 4 commits into
mainfrom
remove-unused-parser-imports
Open

Add CI workflow for xdr-generator-rust#577
leighmcculloch wants to merge 4 commits into
mainfrom
remove-unused-parser-imports

Conversation

@leighmcculloch

@leighmcculloch leighmcculloch commented Aug 24, 2026

Copy link
Copy Markdown
Member

What

Add a CI workflow for the xdr-generator-rust workspace along with the lint fixes and MSRV bump to 1.85.0 needed to make it pass.

Why

xdr-generator-rust is a separate Cargo workspace, so the root-level cargo invocations in rust.yml do not exercise it, and the job that run the generate command only runs cargo run and so never compiles the generator's #[cfg(test)] code.

Comment thread .github/workflows/xdr-generator-rust.yml Fixed
Comment thread .github/workflows/xdr-generator-rust.yml Fixed
Comment thread .github/workflows/xdr-generator-rust.yml Fixed
Comment thread .github/workflows/xdr-generator-rust.yml Fixed
@leighmcculloch
leighmcculloch requested a review from a team August 24, 2026 02:20
@leighmcculloch
leighmcculloch marked this pull request as ready for review August 24, 2026 02:30
Copilot AI balanced review requested due to automatic review settings August 24, 2026 02:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds dedicated CI coverage for the separate xdr-generator-rust workspace and updates it for Rust 1.85 lint compliance.

Changes:

  • Adds formatting, Clippy, MSRV, and test jobs.
  • Bumps workspace crates to Rust 1.85.
  • Applies Clippy-driven refactors and documentation fixes.

Reviewed changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
.github/workflows/xdr-generator-rust.yml Adds generator workspace CI.
xdr-generator-rust/xdr-parser/Cargo.toml Bumps parser MSRV.
xdr-generator-rust/xdr-parser/src/ast.rs Resolves AST lint findings.
xdr-generator-rust/xdr-parser/src/lexer.rs Improves lint annotations and error handling.
xdr-generator-rust/xdr-parser/src/parser.rs Refactors parser for Clippy compliance.
xdr-generator-rust/xdr-parser/src/types.rs Adds annotations and simplifies matches.
xdr-generator-rust/xdr-parser/src/tests/lexer.rs Updates test formatting.
xdr-generator-rust/xdr-parser/src/tests/parser.rs Updates parser tests for lint compliance.
xdr-generator-rust/xdr-parser/src/tests/types.rs Updates type tests for lint compliance.
xdr-generator-rust/generator/Cargo.toml Bumps generator MSRV.
xdr-generator-rust/generator/src/generator.rs Resolves generator lint findings.
xdr-generator-rust/generator/src/main.rs Documents CLI lint exemption.
xdr-generator-rust/generator/src/naming.rs Improves rustdoc formatting.
xdr-generator-rust/generator/src/options.rs Improves field documentation.
xdr-generator-rust/generator/src/output.rs Documents boolean-heavy output structure.
xdr-generator-rust/generator/src/tests/generator.rs Updates generator test formatting.
xdr-generator-rust/generator/src/types.rs Simplifies type-mapping matches.
xdr-generator-rust/generator-definitions-json/Cargo.toml Bumps JSON generator MSRV.
xdr-generator-rust/generator-definitions-json/src/ir.rs Reformats and simplifies IR conversion.
xdr-generator-rust/generator-definitions-json/src/main.rs Simplifies optional cfg filtering.
xdr-generator-rust/generator-definitions-json/src/tests/cfg_filter.rs Updates cfg-filter tests.
xdr-generator-rust/generator-definitions-json/src/tests/wire_size.rs Updates wire-size test formatting.
Suppressed comments (1)

.github/workflows/xdr-generator-rust.yml:85

  • This metadata query covers all three workspace packages, so the workspace MSRV is the highest member rust_version, not the lowest. If member MSRVs diverge, min makes the test job invoke Cargo with a compiler that another workspace member explicitly does not support. Select the maximum declared version here as well.
        msrv="$(cargo metadata --manifest-path $MANIFEST_PATH --format-version 1 --no-deps | jq -r '.packages | map(.rust_version) | map(values) | min')"

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/xdr-generator-rust.yml Outdated
Comment thread .github/workflows/xdr-generator-rust.yml Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants