ci: use macos and ubuntu runners with `cargo nextest`
Context
Integration tests have been broken for a while now, apparently due to slow self-hosted runners. This PR addresses that and some.
Solution
- Switch most jobs to
macos-latest - Switch pytests to
ubuntu-latest - Use
cargo nextestinstead ofcargo test(closes #4987)
Additional
- Run unit tests with
no-default-features(closes #4854) - Retry client pytests (follow-up ticket: https://github.com/hyperledger/iroha/issues/5014)
- Do not build/download the default executor where it's not needed (post #4931)
- Caching dependencies should actually work now (switch from
rust-cachetocargo-cache), cache is shared between similar jobs
Checklist
- [x] Finish fixing client pytests
- [x] I've read
CONTRIBUTING.md. - [ ] (optional) I've written unit tests for the code changes.
- [x] All review comments have been resolved.
Squashed commits to resolve conflicts faster, removed retries in extra_functional tests. Nothing else changed
Looks good, what prevents from undrafting & merging it?
@0x009922 the self-hosted runners seem to be working fine again, and macOS runners stopped being faster. We agreed with @BAStos525 a while ago to wait and compare before deciding whether to ditch the macOS runners and merge the rest of the changes. I'll pick this up today
@BAStos525 UI tests fail with the disk space issue you've mentioned before, should they also use the self-hosted runners?
@BAStos525 UI tests fail with the disk space issue you've mentioned before, should they also use the self-hosted runners?
Sure. We can try self-hosted runners