I recently migrated CI config to Github workflows and also added a new workflow that triggers when pushing a version tag, makes a draft release, makes two release builds (with libssl and rustls) on Linux, and pushes tarballs to the draft release.
Both seem to work fine but there a few things I'd like to fix/improve:
[ ] In the release workflow there could be two jobs for two different builds, but I'm not sure how to make one draft release and push these two artifacts to the release. As far as I can see from the docs I can't use a variable defined in a job in another job (that's only possible between steps), so I don't know how how to make these two tasks parallel, using the same release to upload the artifacts.
[ ] In the CI workflow I want to run the same commands and tests with all features, but I don't know how to test all dependencies when feature flags are used. (cd tiny && cargo test --all --no-default-features) doesn't seem to work (installs native-tls). cargo test --all --no-default-features --features tls-rustls tries to enable both native-tls and rustls. It seems like --no-default-fetaures doesn't work with test. cargo test at the top-level works, but I can't enable/disable features. (cd tiny && cargo test --no-default-features --features tls-rustls) works but it doesn't test dependencies.
I recently migrated CI config to Github workflows and also added a new workflow that triggers when pushing a version tag, makes a draft release, makes two release builds (with libssl and rustls) on Linux, and pushes tarballs to the draft release.
Both seem to work fine but there a few things I'd like to fix/improve:
[ ] In the release workflow there could be two jobs for two different builds, but I'm not sure how to make one draft release and push these two artifacts to the release. As far as I can see from the docs I can't use a variable defined in a job in another job (that's only possible between steps), so I don't know how how to make these two tasks parallel, using the same release to upload the artifacts.
[ ] In the CI workflow I want to run the same commands and tests with all features, but I don't know how to test all dependencies when feature flags are used.
(cd tiny && cargo test --all --no-default-features)
doesn't seem to work (installs native-tls).cargo test --all --no-default-features --features tls-rustls
tries to enable both native-tls and rustls. It seems like--no-default-fetaures
doesn't work withtest
.cargo test
at the top-level works, but I can't enable/disable features.(cd tiny && cargo test --no-default-features --features tls-rustls)
works but it doesn't test dependencies.