Skip to content

ci: introduce Github CI#5

Closed
apoelstra wants to merge 9 commits intomasterfrom
2025-06_ci
Closed

ci: introduce Github CI#5
apoelstra wants to merge 9 commits intomasterfrom
2025-06_ci

Conversation

@apoelstra
Copy link
Contributor

Builds on #1.

Trying pushing from this repo rather than my fork.

This crate compiles with 1.48.0, but depends on rust-bitcoin whose `bitcoin-io`
depenedency requires 1.63.0. My local CI tries to compile `io` even though it
isn't used.

We will need to update the MSRV even further to compile with Simplicity. But
for now get it into a state where we can compile with local CI.
This is still a very old version, but 1.0.103 is currently throwing warnings
on the latest rustc, so I'm bumping it the minimum amount needed to make the
warnings go away.

("Latest rustc" is 1.86.0.)
Needed to compile with nightly as of 2025-06-01.
The majority of these are "remove &s and refs" which I think are
uncontroversial. I also removed "x: x" field assignments, which I
believe Steven didn't like in the past, but that ship has sailed.

Other controversial changes: replaced an .expect(&format!) call
with .unwrap_or_else(|_| panic!) which I guess is ok, but more
verbose.

I whitelisted the "use format!("{variable}")" lint because it's
ridiculous. This syntax doesn't work in format-like macros like
assert! or assert_eq!, and doesn't work if the 'variable' is a
field access or has a & or anything at all. So if you were to
try to make this ugly and unnecessary change, the result would
be an inconsistent mess.
Our MSRV is now well past 1.56, which was the 2021 cutoff. So we can
update to edition 2021 (even 2018 would have been ok..) and get sane
modules.
@apoelstra apoelstra mentioned this pull request Jun 24, 2025
I would like to keep imports sorted, etc etc. Do a one-time format.
It appears that `cargo fmt` and `cargo +nightly fmt` have the same
result, but it also seems like `cargo fmt` isn't trying to read
rustfmt.toml. I'm not sure what's up.

Some of the changes, in particular squishing stuff onto single lines,
are clearly for the worse and I don't know or care enough about rustfmt
to prevent them from happening. I think they're worth living with to
have the rest of the codebase formatted.

Anyway if it's too much of a pain to keep formatted we don't need to
do it on every commit.
Removed benchmarks, asan etc, wasm stuff; removed lockfile logic; cleaned up
some things with chatgpt; emptied the scripts in contrib/ but left enough of the
framework in place that we should understand how to update them.
@apoelstra apoelstra closed this Jun 24, 2025
@apoelstra apoelstra deleted the 2025-06_ci branch June 24, 2025 17:32
apoelstra added a commit that referenced this pull request Jun 26, 2025
3f12a65 cli tests: add regression tests for the entire CLI intereface (Andrew Poelstra)
063ac8b Cargo.lock: update linked-hash-map (Andrew Poelstra)
f2791d2 rename hal-elements to hal-simplicity everywhere (Andrew Poelstra)
2eacba9 ci: introduce CI system based on that from rust-secp (Andrew Poelstra)
66f251c run cargo +nightly fmt (Andrew Poelstra)

Pull request description:

  Removed benchmarks, asan etc, wasm stuff; removed lockfile logic; cleaned up some things with chatgpt; emptied the scripts in contrib/ but left enough of the framework in place that we should understand how to update them.
  
  This is the same as #4 and #5 -- #4 did not run the CI, apparently because I was PR'ing from my fork instead of from the main repo, and #5 I closed by accident trying to convince `jj` that even though I had pushed to the main repo, I owned this commit and it was totally ok for me to force-push it around.
  
  Fixes #2


ACKs for top commit:
  canndrew:
    ACK 3f12a65


Tree-SHA512: 3a83df26de810edfe7c03950a6ebed8dfeadf199cd2ec9265edb8e8a663c9d0bf6ec0244369aaeb6c462bcd13a84ef14ea735d81d0f294b04fe77bdad5646f69
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant