Commit graph

113 commits

Author SHA1 Message Date
Devrandom
8d7b38fcf1 Add low_r signature grinding
default on, can be turned off via a feature gate
2022-03-25 20:34:02 +01:00
dependabot[bot]
e418bdff76
Bump actions/cache from 2 to 3
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 17:38:00 +00:00
Jeffrey Czyz
1a734492d9
Merge pull request #1347 from jkczyz/2022-03-log-approximation
Use log approximation in ProbabilisticScorer
2022-03-09 10:19:25 -06:00
Jeffrey Czyz
f041a64fca
Check for no-std compatibility across dependencies
To ensure no-std is honored across dependencies, add a crate depending
on lightning crates supporting no-std. This should ensure any
regressions are caught. Otherwise, cargo doesn't seem to catch some
incompatibilities (e.g., f64::log10 unavailable in core) and seemingly
across other dependencies as describe here:

https://blog.dbrgn.ch/2019/12/24/testing-for-no-std-compatibility/
2022-03-08 23:23:26 -06:00
valentinewallace
b89f8815c3
Merge pull request #1343 from lightningdevkit/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-03-03 14:35:01 -05:00
Matt Corallo
5e86bbf970
Merge pull request #1310 from TheBlueMatt/2022-02-bump-msrv
Bump MSRV to 1.41.1.
2022-03-02 19:09:14 +00:00
dependabot[bot]
670aebe07a
Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 17:35:18 +00:00
Matt Corallo
5da22534cd Pin rustc in fuzzing to 1.58 due to honggfuzz-rs regression 2022-02-25 22:09:30 +00:00
Matt Corallo
f96dec2db1 Bump MSRV to 1.41.1.
1.41.1 is currently the Firefox ESR MSRV, which means its also the
version several Linux distros ship. Further, rust-bitcoin is likely
to make a similar change soon, see
https://github.com/rust-bitcoin/rust-bitcoin/issues/510.
2022-02-15 21:07:28 +00:00
Matt Corallo
c8e3078ff7 Make router benchmarks more realistic by not running test-only code
`cargo bench` sets `cfg(test)`, causing us to hit some test-only
code in the router when benchmarking, throwing off our benchmarks
substantially. Here we swap from the `unstable` feature to a more
clearly internal feature (`_bench_unstable`) and also checking for
it when enabling test-only code.
2022-02-10 22:28:38 +00:00
Matt Corallo
8f007c7dbb Check lockorders in tests with a trivial lockorder tracker 2022-01-14 15:35:58 +00:00
Matt Corallo
b62b244c3c
Merge pull request #1223 from lightning-signer/2021-12-invoice-nostd
Adapt lightning-invoice to no_std
2022-01-06 19:25:36 +00:00
Devrandom
01915810d4 Adapt lightning-invoice to no_std 2022-01-05 23:18:03 +01:00
Matt Corallo
ffbef9fec7 Support building cfg=c_bindings with no-std
This will be needed for JavaScript bindings eventually.
2022-01-05 07:24:46 +00:00
hackerrdave
d46c2a20e1 update repo name to use lightningdevkit 2021-12-26 22:53:16 -05:00
Matt Corallo
01ef55ae86 Build no-std on 1.47 now that core2 supports it 2021-12-16 02:22:56 +00:00
Matt Corallo
144145e4f9 Pin tokio to 1.14.0 in CI for older rustc's 2021-12-16 02:22:56 +00:00
Matt Corallo
4fc7bcee58 Upgrade to codecov uploader v2
Some time ago codecov stopped supporting their old v1 uploader, and
it seems they've now finally turned it off, so we aren't getting
any coverage reports anymore. Hopefully upgrading is pretty trivial.
2021-12-07 22:16:41 +00:00
Matt Corallo
1a743672b9
Merge pull request #1184 from TheBlueMatt/2021-11-c-bindings-tweaks
C Bindings Compatibility Tweaks
2021-11-24 20:03:14 +00:00
Matt Corallo
4831de41ec Test all log-limiting features in CI 2021-11-24 02:52:53 +00:00
Matt Corallo
016eb96fc7 Support logger::Record in C by String-ing the fmt::Arguments
This adds a new (non-feature) cfg argument `c_bindings` which will
be set when building C bindings. With this, we can (slightly) tweak
behavior and API based on whether we are being built for Rust or C
users.

Ideally we'd never need this, but as long as we can keep the API
consistent-enough to avoid material code drift, this gives us a
cheap way of doing the "right" thing for both C and Rust when the
two are in tension.

We also move lightning-background-processor to support the same
MSRV as the main lightning crate, instead of only
lightning-net-tokio's MSRV.
2021-11-23 03:30:48 +00:00
Matt Corallo
57feb26307
Merge pull request #1028 from lightning-signer/2021-08-no-std
Actual no_std support
2021-08-03 17:06:59 +00:00
Devrandom
32d13a2ff8 Rename no_std feature to no-std
matches rust-bitcoin
2021-08-03 18:53:33 +02:00
Matt Corallo
75f77a5708
Merge pull request #1033 from TheBlueMatt/2021-07-fix-beta
Fix lightning-persister tests for upcoming rustc changes
2021-08-03 14:41:35 +00:00
Jeffrey Czyz
b4c3a33f29
Fail linter on #[warn(clippy::try_err)]
Some heavily used macros are using ? directly on an Err. Using a return
is easier to read and removes hundreds of linter warnings.

https://rust-lang.github.io/rust-clippy/master/index.html#try_err
2021-08-02 10:32:02 -05:00
Matt Corallo
0fa18658cd Add CI runs on rustc beta on Windows and MacOS
This should catch any platform-specific behavior changes in rustc
before they land in stable.
2021-08-02 14:52:35 +00:00
Matt Corallo
24ae779652 Drop MSRV for no_std to 1.47 as that's what Ubuntu LTS ships with
...but disable it for now given core2 is broken (it claims an MSRV
of 1.47 but does not build).
2021-07-31 18:31:16 +00:00
Matt Corallo
a7934d7ece Disable fast-fail to let CI actually run even though beta is broken 2021-07-29 17:40:42 +00:00
Devrandom
2e8f4fef2f Test no_std instead of just hashbrown 2021-07-20 20:59:18 +02:00
Gene Ferneau
da7a851d47
Use hashbrown replacements for std equivalents 2021-06-18 21:54:21 +00:00
Matt Corallo
27d9feda58 Only check docs on rustc 1.52 as rustc stable now crashes 2021-06-17 15:41:16 +00:00
Matt Corallo
73576574a9 Update network graph sample used in benchmarks 2021-06-01 21:53:06 +00:00
Matt Corallo
ad20bc7f5a Update net_graph used for benchmarks to use new ser format. 2021-05-27 21:46:38 +00:00
Matt Corallo
3d1c72e73f Update net graph copy used in tests and bench for new format 2021-05-25 20:06:45 +00:00
Matt Corallo
5625c3ab52 Test lightning-persister on rustc 1.36 as well 2021-04-27 00:36:52 +00:00
Matt Corallo
c4ab6756dd Bump MSRV to 1.36.0
Debian is shipping 1.41 on oldstable and rust-bitcoin will likely
move to 1.36 over the coming months, so there's little reason to
wait on this.

cc https://github.com/rust-bitcoin/rust-bitcoin/issues/510
2021-04-27 00:36:52 +00:00
Valentine Wallace
11641fe99e
Test lightning-invoice on 1.30.0 2021-04-20 16:26:56 -04:00
Valentine Wallace
b516b3da19
Add lightning invoice fuzzing to CI 2021-04-09 10:08:27 -04:00
Matt Corallo
b1306b3b5d Run FS bench in CI as well 2021-04-07 22:55:44 -04:00
Matt Corallo
c2cd8d4855 Add a random real-world-network-graph test for the router
This is the same code as was recently failing in our benchmarks,
adapted to use a random starting seed instead of a fixed one and
a smaller iteration to reduce runtime.
2021-04-06 21:41:45 -04:00
Matt Corallo
d793a2fc7a Drop C bindings (which are now in a separate repo)
This allows us to drop the usually-failing C bindings CI check, and
makes Github code search more useful by dropping redundant things.
2021-03-08 13:43:00 -05:00
Matt Corallo
9b7609a8c5 Apply --cfg=fuzzing when fuzzing, as required by new secp256k1
Note that rust-fuzz wrappers (including honggfuzz) already apply
this for us.
2021-02-26 15:15:18 -05:00
Matt Corallo
454e01d30e Fetch network graph cache and run benchmarks on CI 2021-02-15 16:51:51 -05:00
Jeffrey Czyz
9860646e73
Add lightning-block-sync package and library
Defines an interface and related types for fetching block headers and
data from a block source (e.g., Bitcoin Core). Used to keep lightning in
sync with chain activity.
2021-02-03 17:45:54 -08:00
Matt Corallo
11f5e23357 Fix codecov by calling the new binary paths from rust 1.45
Rustc 1.45 moved the paths to test binaries, so we need to update
our CI scripts to run the correct ones under kcov.

The solution to this was pointed out by Val at
https://github.com/rust-bitcoin/rust-lightning/pull/774#issuecomment-763250623
2021-01-26 21:53:04 -05:00
Matt Corallo
07aff06f67 Bump MSRV for net-tokio to 1.45 as tokio 1.0 req very recent rustc 2021-01-26 18:37:04 -05:00
Matt Corallo
e12215ca8a [bindings] Use the same SipHash keys to make C++ header stable 2020-10-21 14:54:51 -04:00
Matt Corallo
36e732879a Ignore cbindgen version in latest-bindings-in-git check.
Currently the check_binidngs GitHub CI job always fails when there
is a new cbindgen release because the cbindgen version is in the
generated header file. When the new version doesn't change the
generated header except for the version number, we should ignore
the difference.
2020-10-12 12:17:26 -04:00
Ryan Loomba
262172cddb add linting to Github CI 2020-10-08 10:47:49 -07:00
Matt Corallo
89e40fe224 Don't let CI fail to check commits b/c git isn't configured in CI
This fixes #733 by just setting a dummy git name/email before
calling `git rebase` in CI.
2020-10-02 16:37:37 -04:00