Skip to content

Reintegrate xtask into workspace #7800

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

Merged
merged 7 commits into from
Jul 3, 2025
Merged

Reintegrate xtask into workspace #7800

merged 7 commits into from
Jul 3, 2025

Conversation

goto-bus-stop
Copy link
Member

@goto-bus-stop goto-bus-stop commented Jul 2, 2025

In the past xtask was separated into its own root crate due to a dependency compatibility collision or so:

"Note that xtask is not in the workspace member because it relies on dependencies that are incompatible with the router."

This is not true anymore, and there are some downsides to the separation:

  • Separate Cargo.lock files and target directories increase disk space usage and compilation time
    • This means we need special treatment to make xtask build times acceptable on CI
  • Linting, formatting, testing, etc do not apply to xtask, so it's possible for CI to accept things that don't work
  • Sometimes renovate gets upset (eg: fix(deps): update all non-major packages >= 1.0 #7799 (comment))

This PR makes xtask a normal workspace member again.

Fixes #7769


Checklist

Complete the checklist (and note appropriate exceptions) before the PR is marked ready-for-review.

  • PR description explains the motivation for the change and relevant context for reviewing
  • PR description links appropriate GitHub/Jira tickets (creating when necessary)
  • Changeset is included for user-facing changes
  • Changes are compatible1
  • Documentation2 completed
  • Performance impact assessed and acceptable
  • Metrics and logs are added3 and documented
  • Tests added and passing4
    • Unit tests
    • Integration tests
    • Manual tests, as necessary

Exceptions

Note any exceptions here

Notes

Footnotes

  1. It may be appropriate to bring upcoming changes to the attention of other (impacted) groups. Please endeavour to do this before seeking PR approval. The mechanism for doing this will vary considerably, so use your judgement as to how and when to do this.

  2. Configuration is an important part of many changes. Where applicable please try to document configuration examples.

  3. A lot of (if not most) features benefit from built-in observability and debug-level logs. Please read this guidance on metrics best-practices.

  4. Tick whichever testing boxes are applicable. If you are adding Manual Tests, please document the manual testing (extensively) in the Exceptions.

Copy link
Contributor

github-actions bot commented Jul 2, 2025

@goto-bus-stop, please consider creating a changeset entry in /.changesets/. These instructions describe the process and tooling.

@dylan-apollo
Copy link
Member

Can we update xtask stuff to use the same deps (e.g., hyper) as router? Otherwise this makes it hard to tell when we accidentally have duplicate deps in router (which hopefully we can avoid most of the time).

@goto-bus-stop
Copy link
Member Author

goto-bus-stop commented Jul 2, 2025

@dylan-apollo I was going to follow up with that later (also renovate might do some of it for us after this change)

@goto-bus-stop goto-bus-stop merged commit f4e3c2a into dev Jul 3, 2025
13 checks passed
@goto-bus-stop goto-bus-stop deleted the renee/workspace-xtask branch July 3, 2025 06:43
@glasser
Copy link
Member

glasser commented Jul 4, 2025

Nice, thanks!

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.

CI doesn't validate that xtask compiles
5 participants