Comments (6)
It did help me actually since we have some parts that are only tested by fuzz, not normal tests unfortunately.
But this is also an issue. It'd be great to de-prioritize it but I haven't found a sane way to do that. At best we could make it "require" a different job but set if
to ignore that the previous job failed.
from rust-bitcoin.
If stuff is getting queued rather than running in parallel we should re-order them so the fast stuff goes first. So first clippy/check (maybe with 2 or 3 feature combinations), then the normal tests, then fuzzing. That would help a lot.
As for "should we move fuzzing to a daily thing rather than every PR" ... I think if fuzzing ran last, it would be ok. It might delay merging, in theory, to have to wait for fuzzing, but at least it won't delay the more-commonly-failing parts of CI.
from rust-bitcoin.
BTW. Not sure if you looked into it, but GH has these Megue Queues now, and they allows running one set of things on every PR/push, and other right before merging. E.g. In Fedimint we. skip MacOS builds on PRs (because it takes forever), and run it only in the Merge Queue (because we don't want master
to be broken on MacOS). Another thing it does is it can possibly run a given CI-step with multiple PRs together once (if you happen to approve lots of them at the same time, which is relatively uncommon, but worth mentioning).
So you could run a proper & longer fuzzing session after PR was approved, when the time it takes is less important, while get a fast ✔️ to unblock reviews etc.
from rust-bitcoin.
BTW. Not sure if you looked into it, but GH has these Megue Queues now, and they allows running one set of things on every PR/push, and other right before merging.
Unrelated to this PR, however maybe running cargo +nightly fmt
right before merging would be better than the current fmt once per week strategy.
from rust-bitcoin.
@yancyribbens not really, it increases the probability of conflicts by pointlessly changing things. Though not doing it sucks too for different reasons. I wrote this: https://github.com/Kixunil/rust-merge which may improve the situation somewhat but it's far from perfect.
from rust-bitcoin.
Unrelated to this PR, however maybe running
cargo +nightly fmt
right before merging would be better than the current fmt once per week strategy.
Aside from the logistical issues, we can't do this anyway because merge commits are signed, so Github can't modify the code out from under us even if we requested it.
from rust-bitcoin.
Related Issues (20)
- version error PSBT versions greater than 0 are not supported HOT 1
- Principled fix for #2521
- CI: MemorySanitizer is erroring (ASAN job) HOT 12
- units: Audit all types for correct usage of `Ord` vs `ArbitraryOrd` HOT 4
- Inherent functions `to_bytes` / `from_bytes` HOT 6
- Shoosh semver informational part build warning
- CI fails are hard to view HOT 9
- crate labels go stale
- Changes that require updating the lock files do not fail CI HOT 3
- Add `just` command to install githooks HOT 1
- Our current merge policy/script causes excessive delay and work HOT 2
- deserializing network message can request arbitrary sized allocations HOT 6
- Can we sort `rustfmt` out once and for all HOT 5
- Add type data to TxOut HOT 15
- Should `LockTime` types live in `units` HOT 8
- Consider not deriving `serde` impls from `units` types HOT 12
- Is introducing `LockTimeUnit` enum promote redundancy? HOT 3
- Should `Script::witness_version` check if the script `is_witness_program` before it returns the version? HOT 2
- Make sure we mention than 'm/' is not handled in bip32 derivation paths HOT 1
- Use `Message::from` HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust-bitcoin.