Skip to content
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

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

Open
cdecker opened this issue Dec 2, 2022 · 7 comments
Assignees

Comments

@cdecker
Copy link
Contributor

cdecker commented Dec 2, 2022

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.

@cdecker cdecker self-assigned this Dec 2, 2022
@chrisguida
Copy link
Collaborator

This seems better, yeah :)

@chrisguida
Copy link
Collaborator

chrisguida commented Feb 9, 2024

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
Copy link
Collaborator

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
Copy link
Collaborator

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 chrisguida changed the title Switch CI to download the latest CLN release instead of building Create nightly CI process that tests against CLN master, use CLN latest release binary for "on push" diff CI testing Feb 10, 2024
@chrisguida chrisguida assigned chrisguida and unassigned cdecker Feb 10, 2024
@chrisguida
Copy link
Collaborator

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

@fmhoeger
Copy link
Contributor

  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
Copy link
Collaborator

Sure, that sounds good.

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

No branches or pull requests

3 participants