graphql-client icon indicating copy to clipboard operation
graphql-client copied to clipboard

ci: test minimal version of dependencies

Open caspermeijn opened this issue 1 year ago • 1 comments

Use cargo minimal-versions to check whether the minimal specified versions dependencies successfully compiles.

As this repo has no Cargo.lock, CI will always test with the newest compatible dependency versions. This new job will check oldest compatible dependency version as well.

This requires unstable nightly feature minimal-versions, but they abstracted away by cargo-minimal-versions project.

prost uses the same job for several months: https://github.com/tokio-rs/prost/blob/21208abf667313866f79d3d1438310c4dc20bdff/.github/workflows/ci.yml#L168-L176

caspermeijn avatar Aug 23 '24 12:08 caspermeijn

Are you able to see the CI output to iterate on this?

tomhoule avatar Oct 25 '24 11:10 tomhoule

Are you able to see the CI output to iterate on this?

So I have been a bit dumb and just committed this CI job without testing. I will look into what dependencies need to change to make this work and add them as separate commits in this PR.

caspermeijn avatar Oct 28 '24 09:10 caspermeijn

I have not been able to make this work. Some of the transient dependencies have wrong minimal dependencies. I have found a few crates where the minimal dependencies have been fixed in the latest version, but that doesn't help because we want to support the older version.

My conclusion is: a CI job for minimal version is not feasible as long as reqwest 0.11 is in the dependency list.

caspermeijn avatar Dec 19 '24 17:12 caspermeijn