Skip to content

ci: introduce CI system based on that from rust-secp#6

Merged
apoelstra merged 5 commits intoBlockstreamResearch:masterfrom
apoelstra:2025-06_ci
Jun 26, 2025
Merged

ci: introduce CI system based on that from rust-secp#6
apoelstra merged 5 commits intoBlockstreamResearch:masterfrom
apoelstra:2025-06_ci

Conversation

@apoelstra
Copy link
Contributor

@apoelstra apoelstra commented Jun 24, 2025

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

Somehow this got dropped from BlockstreamResearch#1.
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
Copy link
Contributor Author

cc @canndrew this should be good to go

Copy link
Contributor Author

@apoelstra apoelstra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On 2eacba9 successfully ran local tests

@apoelstra apoelstra force-pushed the 2025-06_ci branch 2 times, most recently from 0eb9eb2 to f76c63b Compare June 25, 2025 15:37
The linked-hash-map version in our lockfile appears to be using uninitialized
memory in an unsound way, as evidenced by rustc 1.63.0 causing it to emit the
error

"Execution failed: attempted to leave type `linked_hash_map::Node<yaml::Yaml, yaml::Yaml>` uninitialized, which is invalid"

in our CLI tests.

Just update the dep.
tests/cli.rs Outdated
"",
);
// FIXME we accept hybrid and uncompressed keys for blinders, which is probably wrong. But
// observa that thep
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"observa that thep"?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lol, oops. Fixed.

Let Claude 4 write a couple of these. It did a pretty bad job. Was
fairly expensive to round-trip through aider; it would make up addresses
in the wrong format; I told it to try all the flags but it didn't try -v;
it didn't use the short forms.

So the vast majority of this was a manual commit. Took me several hours.

Added a bunch of FIXMEs for things that look or feel wrong. We can revisit
them in later PRs.
@canndrew
Copy link
Contributor

ACK 3f12a65

@apoelstra apoelstra merged commit 85b57cb into BlockstreamResearch:master Jun 26, 2025
11 checks passed
@apoelstra
Copy link
Contributor Author

Whew. Took me quite a while to get my local CI to like this. It's hard to set the CARGO_BIN_EXE_hal-simplicity variable, first because bash won't let you create variables with -s in their names, and secondly because in Nix at compile-time you can't know the absolute path of a binary (since the path includes a hash of the binary, which you haven't built yet). So you have to use relative paths, which requires chasing cp calls across multiple derivations..

Anyway I got it working.

@apoelstra apoelstra deleted the 2025-06_ci branch June 26, 2025 19:24
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.

investigate cargo insta and copy it from jj CI

2 participants