lightningd / plugins

Community curated plugins for core-lightning
BSD 3-Clause "New" or "Revised" License
269 stars 129 forks source link

Create nightly CI process that tests against CLN master, use CLN latest release binary for "on push" diff CI testing #407

Closed cdecker closed 2 weeks ago

cdecker commented 1 year ago

We want to test against a recent version to get tipped off when deprecations hit us, but the release is new enough, no need to waste CI cycles rebuilding CLN master over and over again.

❯ curl -s https://api.github.com/repos/ElementsProject/lightning/releases/latest | jq '.assets[] | select(.name | contains("22.04")) | .browser_download_url'

The above snippet will get us the latest download URL for Ubuntu 22.04.

chrisguida commented 8 months ago

This seems better, yeah :)

chrisguida commented 8 months ago

Do we still want to test master nightly to alert us of upcoming breakages? I liked your idea of doing a "diff CI" for pushes, and a "full CI" nightly.

chrisguida commented 8 months ago

We want two different test processes:

1) every push, we test against only what changed, and we pull CLN latest release binary for these tests. 2) every night, we build CLN master and check all plugin code against this, to see if anything upstream broke.

Side note: If stuff breaks on master, we have time to notify plugin maintainers that their plugins are broken and they need to fix before the upcoming CLN release. Once the new release is out, if plugins still aren't fixed, we move them to archive.

chrisguida commented 8 months ago

We also want to move to a system where all plugins are built from source every night, and we also want to enforce that all plugins have tests, ideally useful tests.

But this can be a separate issue.

chrisguida commented 8 months ago

I don't know how to get @fmhoeger to appear in the list of assignees, so i'm assigning myself.

fmhoeger commented 8 months ago
  1. every push, we test against only what changed, and we pull CLN latest release binary for these tests.

Would it make sense to modify above line to read:

  1. for every push in the context of a PR, we test against only what changed, and we pull CLN latest release binary for these tests.
chrisguida commented 8 months ago

Sure, that sounds good.

chrisguida commented 2 weeks ago

Pretty sure this was solved by @daywalker90 in various PRs and @sip-21 in June and July.

Most notably this one https://github.com/lightningd/plugins/pull/497

And this one https://github.com/lightningd/plugins/pull/537

Closing.