-
Notifications
You must be signed in to change notification settings - Fork 263
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use rust-bitcoin-maintainer-tools and re-write CI #348
Use rust-bitcoin-maintainer-tools and re-write CI #348
Conversation
54993cd
to
f046739
Compare
I'm not sure ATM why the script doesn't pin properly, the |
I'm confused about the relationship between the lockfiles and pin.sh. Why have both? pin.sh is guaranteed to go out of date as non-pinned deps break CI. Also lol there is no way you can make |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
small comment
.github/workflows/rust.yml
Outdated
uses: actions/checkout@v4 | ||
with: | ||
repository: tcharding/rust-bitcoin-maintainer-tools | ||
ref: 05-02-ci |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens once we loop an year?
This is not "collision resistant" 😂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We also need to change the repository from tcharding/rbmt to rust-bicoin/rbmt. I was imagining then that the ref
would just be a commit ID. But if we want to use tags then you're right, we should make sure the year is part of the name :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My bad, I did comment on that somewhere. Using my repo and branch is just for testing.
This is not "collision resistant" 😂
I'm currently solving this issue with a "clobber branches if they are a year old policy", its even more confusing when I accidentally use the wrong date a few days in the future
Yes I woke up yesterday morning realising I had been a massive dick and done that (use nightly), current state does not.
I believe formatting was intended to be enforced in CI, the current |
f046739
to
90b33a3
Compare
Please note, the solution I found to pinning issues is to just only run |
EDIT: (original message below) After sleeping on this I think a better approach is to just not have a formatting job and note the bug in the current Hey @stevenroose I believe I am acting correctly here but can you please ack because we have had prior history re formatting.
I have therefore enforced formatting in this PR using the stable toolchain as it currently does. However this required a formatting patch because there are formatting issues currently on No probs if you want the format patch and CI job removed - just holla at me. Thanks |
128bedc
to
2e81f41
Compare
The |
I never realised it was supposed to represent the most recent dependencies that work with MSRV. Was that always what you had in mind? Since most users will not be using MSRV does that not mean the file has way less relevance? Also does that not mean our test coverage is worse because we may miss issues with current versions that most people are then going to hit? If we want a recent for MSRV I rekon we should have a third lock file and have a recent for stable as well. |
Yes.
Maybe. If "most users" want to use dependencies I've never tested (or rather, I have tested and confirmed are broken) and don't care about, that is their perogative. But the point of these lockfiles is to provide specific versions that we've tested to work.
Yeah, this is probably a good idea. |
72e42b3 Add CI shell scripts (Tobin C. Harding) Pull request description: We would like to put all the CI scripts in a single place instead of copied to each repository. Add a `ci/` directory and in it a `run_task.sh` script as well as auxilary scripts required. Include a README to document the directory. When the following three PRs have green CI runs then I believe we can merge this. And then I will update each of the PRs to use this repo and `master` (instead my fork and the PR branch `05-02-ci`). - [x] `rust-bitcoin`: rust-bitcoin/rust-bitcoin#2736 - [x] `rust-miniscript`: rust-bitcoin/rust-miniscript#682 - [x] `rust-bitcoincore-rpc`: rust-bitcoin/rust-bitcoincore-rpc#348 - [x] `rust-chf` https://github.com/tcharding/rust-chf/actions/runs/8931701405 All green with one minute till my End Of Day - BOOM! ACKs for top commit: apoelstra: utACK 72e42b3 Tree-SHA512: 199203ff283cce6f05ac69c971aaf563b1df9574900cf24ef0d979dee34419d6d3ba01de930e08318878e49ce0dd5e30e81c5eb4603b8404acce909eca03a6a6
7cf092c
to
dafeae0
Compare
Make the indentation like it is in other repositories in this org. Done in preparation for further patching of the workflow. Whitespace only.
fcde06b
to
a27c42f
Compare
We have a CI script in the `rust-bitcoin-maintainer-tools` repository, lets use it. Requires adding `Cargo-minimal.lock` and `Cargo-recent.lock`. Both these lock files are tested with all three toolchains (msrv, stable, nightly). Note, I could not find a more recent set of dependencies that works so the two lock files are the same.
a27c42f
to
93602a9
Compare
Just checking, this can be done separate to this PR, right? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 93602a9
I think this is OK to merge without Steven. It's only CI and the existing stuff is broken and it doesn't introduce any new dependencies or requirements for nightly tooling or anything. |
3a3446a Depend on bitcoin v0.32.0 (Tobin C. Harding) Pull request description: Done on top of #348 because I had to pin in the CI script, draft until that goes in. Depend on the latest release of `rust-bitcoin`. ACKs for top commit: apoelstra: ACK 3a3446a nice! lots of slight improvements here Tree-SHA512: badf1b26a030985c55a807b916e00c4199d5260ef69664ac6fc4db0182a13dc4433ca26f773d4ecbc9b61f5400f82c0a5f38d05f183e9a8aa6242f06a60397ed
Use the new maintainer tools test script we created in rust-bitcoin/rust-bitcoin-maintainer-tools#4
For this repo usage of the script is a big change, the coverage does not change that much except we run one example instead of just building it and we run cargo using
cargo --locked
whereas currently for stable and nightly the dependencies used are much more recent.FTR:
test.sh
)This replaces #338