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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

radicle: reinit at 1.0.0-rc.8 #309050

Merged
merged 1 commit into from
May 10, 2024
Merged

radicle: reinit at 1.0.0-rc.8 #309050

merged 1 commit into from
May 10, 2024

Conversation

lorenzleutgeb
Copy link
Member

@lorenzleutgeb lorenzleutgeb commented May 4, 2024

Remove radicle-{cli,upstream} and add radicle-node.

Description of changes

Rationale for Removal of radicle-cli

The repository github:radicle-dev/radicle-cli that radicle-cli builds from, was last tagged on 2022-08-11 and archived on 2023-05-11.

Rationale for Removal of radicle-upstream

The repository github:radicle-dev/radicle-upstream that radicle-upstream builds from, was last tagged on 2022-07-29 and archived on 2022-08-01. The release notes say that it shows "a deprecation notification upon startup". There's a deprecation/sunsetting notice on community.radworks.org.

Notes on radicle-node

Source Repository

Development moved from github:radicle-dev/radicle-cli to github:radicle-dev/Heartwood. However, this repository was archived as the Radicle intensified dogfooding and is now on Radicle itself under rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 (view it via app.radicle.xyz). This is the reason why I decided not to use GitHub but a Radicle node (that is prominent in the community) to fetch sources. It acts as a bridge from the Radicle network to Git over HTTPS. The ref looks a bit weird for technical reasons to do with Radicle itself using Git namespaces.

Maintainers

@amesgen, I decided to keep you as maintainer, since you're still contributing to (other parts of) Nixpkgs. Just notify me in case you don't agree.

Tests

...are not entirely broken, just flaky. Many unit tests will still execute, and there's a version test. I am working on a NixOS module for Radicle as well, so if I find the time, I might write a NixOS integration test instead of E2E testing via Cargo.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 馃憤 reaction to pull requests you find important.

Copy link
Member

@amesgen amesgen left a comment

Choose a reason for hiding this comment

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

Note that there is a very similar PR #301511 by @roblabla (apart from the rename and removal of radicle-upstream). It probably makes sense to avoid duplicated work and join forces to modernize radicle.

@lorenzleutgeb
Copy link
Member Author

lorenzleutgeb commented May 5, 2024

Right, my bad that I missed the other PR. Both PRs package the same version. This PR also has tests (not all of them), and does cleanup. No offense to @roblabla, and I still acknowledge that the duplicate effort was unnecessary, but I think this PR is objectively better. What can be discussed still is the rename to radicle-node.

@roblabla
Copy link
Contributor

roblabla commented May 5, 2024

No offense to @roblabla, and I still acknowledge that the duplicate effort was unnecessary, but I think this PR is objectively better.

None taken, I agree this PR is better 馃槃 .

@lorenzleutgeb
Copy link
Member Author

@roblabla great! Could you please review and/or test this PR (if and when you have time) and report back? :)

@roblabla
Copy link
Contributor

roblabla commented May 5, 2024

I did some quick testing on aarch64-darwin, and it works great. I managed to push an update on the radicle network without issues.

One thing that seems to be missing is the rad web command, used to login with the radicle frontend. This seems to happen because rad-web is not being built/distributed for some reason.

This led me to compare our builds from the official distribution. There's another binary missing: radicle-httpd, the frontend for a radicle seed. I guess this might make sense to provide in a separate package though.

@lorenzleutgeb
Copy link
Member Author

lorenzleutgeb commented May 5, 2024

Yes, my idea was to split this. radicle-node should contain what is strictly necessary to run a Radicle node and interact with the Radicle network. Both rad-web and radicle-httpd are nice to have, but not critical.

There also are use-cases where you don't need rad-web, but you do need radicle-httpd, e.g. when using their VSCode extension. This is why I would suggest to even introduce two separate packages for these components.

The binaries radicle-node, and rad go together because there's currently no point in using either of them alone, and git-remote-rad is IMO not worth packaging separately. So you end up with radicle-node as the main, but barebones, thing, and radicle-httpd and radicle-web both optional.

I'd like to prioritise radicle-node however, and want to land this PR without the other components. Keeping the PR smaller hopefully gets it merged faster. And the packages radicle-cli and radicle-upstream are, quite frankly, useless at the moment anyway, so even adding just radicle-node to Nixpkgs is an improvement.

Copy link
Contributor

@roblabla roblabla left a comment

Choose a reason for hiding this comment

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

Sounds like a solid plan to me.

@FintanH
Copy link

FintanH commented May 6, 2024

One thing that seems to be missing is the rad web command, used to login with the radicle frontend. This seems to happen because rad-web is not being built/distributed for some reason.

I'll also note that the Radicle team has deemed rad web as experimental for the time being. So it might be worth waiting until it's more stable anyway :)

@roblabla
Copy link
Contributor

roblabla commented May 6, 2024

I'll also note that the Radicle team has deemed rad web as experimental for the time being. So it might be worth waiting until it's more stable anyway :)

While that's true, rad web is:

  • part of the default radicle distribution
  • One of the first call to action when you end up on the radicle webapp landing page (connect on the top right)

I don't think it makes sense to deviate from the standard distribution too much, as it will probably surprise people.

@FintanH
Copy link

FintanH commented May 6, 2024

One of the first call to action when you end up on the radicle webapp landing page (connect on the top right)

I believe that's been removed :)

To be clear, I work on the protocol of Radicle, but not the web end of things. Afaik, the web team have deemed rad web as experimental.

@koalalorenzo
Copy link

Do you know if this will be available in 24.05 by any chance? Out of curiosity really :)

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-already-reviewed/2617/1626

@lorenzleutgeb
Copy link
Member Author

lorenzleutgeb commented May 9, 2024

Do you know if this will be available in 24.05 by any chance? Out of curiosity really :)

@koalalorenzo please refer to the Release Schedule which is a pinned issue. Branch-off is scheduled for 2024-05-22 AoE.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants