Skip to content

Resume compilation of the clients generated by tests - #1421

Open
requiel20 wants to merge 1 commit into
oxidecomputer:mainfrom
requiel20:compile-generated-clients
Open

Resume compilation of the clients generated by tests#1421
requiel20 wants to merge 1 commit into
oxidecomputer:mainfrom
requiel20:compile-generated-clients

Conversation

@requiel20

Copy link
Copy Markdown

progenitor-impl/tests/output exists so the checked-in output of the generator is
compiled, not only compared as text. Nothing compiles it. The crate declares its own
[workspace], so a build from the repo root never reaches it, no CI job names the
directory, and its Cargo.lock is gitignored, so no lock file recorded any drift.

It has not built for a while. cargo build in that directory reports 1855 errors on
current main.

Most of them are because five of its dependencies fell behind the ones the workspace
resolves, and since progenitor-client is a path dependency asking for reqwest 0.13
while this crate asked for 0.12, two versions of reqwest met in one tree. This PR
bumps all those dependencies:

was now
base64 0.21 0.23
httpmock 0.7 0.8
rand 0.8 0.10
regress 0.7 0.12
reqwest 0.12 0.13

Another error comes from the generated buildomat CLI asking clap for a value parser
it cannot infer. The crate now supplies it through ValueParserFactory.

Finally, the crate must use rust 2021 as it emits the gen word in the code, which is
reserved in Rust 2024.

Two changes keep it from regressing again:

  • build the crate in CI
  • have dependabot watch the crate

`progenitor-impl/tests/output` exists so the checked-in output of the generator is
compiled, not only compared as text. Nothing compiles it. The crate declares its own
`[workspace]`, so a build from the repo root never reaches it, no CI job names the
directory, and its `Cargo.lock` is gitignored, so no lock file recorded any drift.

It has not built for a while. `cargo build` in that directory reports 1855 errors on
current main.

Most of them are because five of its dependencies fell behind the ones the workspace
resolves, and since `progenitor-client` is a path dependency asking for reqwest 0.13
while this crate asked for 0.12, two versions of reqwest met in one tree. This PR
bumps all those dependencies:

| | was | now |
| --- | --- | --- |
| base64 | 0.21 | 0.23 |
| httpmock | 0.7 | 0.8 |
| rand | 0.8 | 0.10 |
| regress | 0.7 | 0.12 |
| reqwest | 0.12 | 0.13 |

Another error comes from the generated buildomat CLI asking clap for a value parser
it cannot infer. The crate now supplies it through `ValueParserFactory`.

Finally, the crate must use rust 2021 as it emits the `gen` word in the code, which is
reserved in Rust 2024.

Two changes keep it from regressing again:

- build the crate in CI
- have dependabot watch the crate
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.

1 participant