Skip to content

feat(xtask): consolidate CI workflows onto xtask helpers - #542

Merged
Anand Krishnamoorthi (anakrish) merged 1 commit into
microsoft:mainfrom
anakrish:bindings-xtasks
Jan 27, 2026
Merged

feat(xtask): consolidate CI workflows onto xtask helpers#542
Anand Krishnamoorthi (anakrish) merged 1 commit into
microsoft:mainfrom
anakrish:bindings-xtasks

Conversation

@anakrish

@anakrish Anand Krishnamoorthi (anakrish) commented Jan 14, 2026

Copy link
Copy Markdown
Collaborator
  • split the xtask crate into structured modules for
    • bindings
    • ci
    • dev
    • util
    • no-std
  • Adding commands for
    • ci-release/ci-debug
    • MUSL/no-std
    • per- binding language smoke tests
    • developer tasks (fmt, clippy, pre-commit, pre-push)
  • refresh Cargo manifests/locks, binding readmes, and shared FFI helpers so every binding reuses the same preparation steps
  • refactor GitHub Actions (release/debug, extensions, CodeQL, clippy, bindings) to call the new xtask commands
  • Use rust-cache in ci workflows (microsoft qdk also does this)
  • extend README with a contributor workflow section describing how xtask mirrors CI expectations
  • update pre-commit and pre-push hooks to use the xtask dev commands

WORKAROUND:
When dotnet is run from an xtask, codeql tracer intercepts it an routes to a nonexistent binary.
Therefore in codeql workflow, xtask is not used for c# and instead dotnet is directly invoked.
Tracked by #545

closes #475

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

:shipit:

- split the xtask crate into structured modules for
  - bindings
  - ci
  - dev
  - util
  - no-std
- Adding commands for
  - ci-release/ci-debug
  - MUSL/no-std
  - per- binding language smoke tests
  - developer tasks (fmt, clippy, pre-commit, pre-push)
- refresh Cargo manifests/locks, binding readmes, and shared FFI helpers so every binding reuses the same preparation steps
- refactor GitHub Actions (release/debug, extensions, CodeQL, clippy, bindings) to call the new xtask commands
- Use rust-cache in ci workflows (microsoft qdk also does this)
- extend README with a contributor workflow section describing how xtask mirrors CI expectations
- update pre-commit and pre-push hooks to use the xtask dev commands

WORKAROUND:
When dotnet is run from an xtask, codeql tracer intercepts it an routes to a nonexistent binary.
Therefore in codeql workflow, xtask is not used for c# and instead dotnet is directly invoked.
Tracked by microsoft#545

closes microsoft#475

Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>

@dpokluda David Pokluda (dpokluda) left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

:shipit:

@anakrish
Anand Krishnamoorthi (anakrish) merged commit e68e852 into microsoft:main Jan 27, 2026
41 checks passed
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.

Provide tooling to check language binding generation on pre-push

3 participants