"Migrate to Radicle" Tooling: GitHub Issues

Overview :telescope:

We’ve written a small and, for the time being, rather simple, tool that helps GitHub project maintainers migrate their GitHub issues to Radicle issues.

The project is available at here and is already functional and covers some very basic needs for when we’ll want to migrate our own issues to Radicle (we currently use GitHub Issues as our issue tracker on VS Code extension and Jetbrains IDE plugin ).

This grant proposal can fund some robustness improvements, so that the tool will be made more reliable and reusable by others, as well as some proposed feature additions, on top of the existing functionality.

Budget :briefcase:

  • Total Duration: 10 calendar weeks
  • Senior Software Engineer Full-time equivalent (FTE): 15 FTE days
  • Team Lead / Product Owner Full-time equivalent (FTE): 1.5 FTE days
  • Total Costs: 12 330 EUR ( 13 290 USDC)
  • Recipient Wallet: 0x445717316388f1d1fb1730D3f6f9Bf59e0b03f4f

Deliverables

Milestone 1: Pushing and Synchronising changes through the IDE

Number Work Item Specification
1. Enrich issues with GitHub Issue Events information :information_source: A lot of information about a GitHub issue is captured as an Issue Event. We will extend the tooling so we can extract these events into the Radicle Issues we create. *
2. Extract Milestone information :placard: Similar to GitHub Issue Events above, we want to extract information about which Milestones GitHub issues are grouped in, into the Radicle Issues we create. *
3. Improve formatting of all GitHub metadata :memo: Various markdown formatting improvements, addition of links to original GitHub issues, resulting to less manual work for the maintainers post-migration.
4. Support incremental migrations :arrows_counterclockwise: Currently, each run with the tool will re-create all GitHub issues as new Radicle Issues, leading to duplicate issues in the Radicle project. With support for incremental migrations, it would be possible to re-run the migration tool (e.g. on a schedule) and have it create only the newest issues that haven’t already been created.
5. Flexibility around import options :arrow_down: Different GitHub projects will have different subsets of issues they want to migrate to Radicle. Some may want to only migrate issues with a specific label, from a specific author, or in some specific status (e.g. only open issues). We will provide some additional options to support filtering the issues being migrated.
6. Container packaging :package: By packaging the application as a container, it becomes easier for to use - without the need for a Java Runtime Environment (JRE) on the machine that will run the migration. Anyone with a container engine installed (e.g. docker, podman, etc.) can run it!

* In the case where the Radicle Issue doesn’t allow storing this information in its own model, we will create a comments with this information, so the information is not lost, and we will also open a feature request for the Heartwood team to consider extending the model accordingly.

Legal Structure

  • Registered Legal Entity: Cytech Ltd.
  • Registered Address: Science & Technology Park of Crete, Heraklion, Greece

Team :busts_in_silhouette:

Team members

  • Yorgos Saslis
  • Themistoklis Dakanalis

Contact

Team’s experience

  • [Yorgos] 15+ years of experience in various roles of the full Software Development Lifecycle: writing code, agreeing on specs with clients, architecting systems, establishing product priorities, designing testing and CI strategies, and co-creating department-wide processes - with an itch for driving “waste” out the door. Co-founder of developer communities (DevStaff, Heraklion Software Crafters, Web3 Greece) and co-organizer of open space unconferences (AgileCrete, JCrete) on the (paradise!:desert_island:) island of Crete!
  • [Themis] is a Software Engineer with nearly 20 years of professional experience in Web and Backend applications. As a proud member of Cytech Mobile for more than a decade, he has been involved in several notable projects including the EU Digital Passenger Locator Form (a web application that travelers coming to EU Member States were required to fill-in) and Career 4.0 Platform (a web application which aims to help create prospects for young people planning their careers). He is also the creator and maintainer of two recently launched WordPress plugins by Cytech Mobile, BuddyMeet and BuddyTask, designed to enhance collaboration among different working groups. Most importantly, Themis loves playing (and occasionally designing!) board games!

Team Code Repos

Team LinkedIn Profiles (if available)

Additional Information :heavy_plus_sign:

How did you hear about the Grants Program? Radicle Discord

2 Likes

This is so awesome @yorgos

From the IDE stuff to this migration tool, your team is really building the foundation of tools that will make it that much easier for devs to move their existing workflows onto Radicle. All of this is key for adoption! I’d call you guys the “growth engineering” team or something! :smiley:

Definitely down to fund this grant work. As discussed on Discord, we’ll use a 20/80 split for this grant.

I’ve started the 20% (2,658 USDC) below:

Note: any tax and compliance for grant work is the responsibility of the grantee(s)

1 Like

@yorgos

One other thought to add here is:

It might be good to work with the core Radicle team to have them link this product in their own docs, such as any onboarding docs they have.

I imagine a section called “Migrating from GitHub” with a link to this tooling would be very beneficial for users.

1 Like

Good point, yes!

We’ll take care of that!

We have now released v0.2 of this tool, and published it here: Release v0.2.0 · cytechmobile/radicle-github-migrate · GitHub

This release now provides all the above functionality, so we think this tool is now ready for production use for teams who want to move their GitHub issues to radicle.

The Radicle Jetbrains IDE plugin team will be the first team who will be trying out this tool, over the next couple of weeks, as part of their plans to migrate the plugin development from GitHub → Radicle.

1 Like

…aaand another small patch release for some breaking changes that were recently introduced in the Heartwood API:

@yorgos thanks a bunch for the chipping away at this and providing an update

I was OOO on holiday, so just getting back to this

The updates to account for breaking changes + dogfooding it on your end sound like a great plan

thanks @bordumb !

Could we move forward with the remaining payment for this grant ?

Hi @yorgos

Yes! Thanks for bumping this.

Started the transaction at Nonce 78:

Note: any tax and compliance for grant work is the responsibility of the grantee(s)

1 Like

This is AWESOME @yorgos ! We should chat to @sean and @cloudhead about getting this out to the community! I think it warrants a tweet :hatched_chick:

2 Likes

Let’s build a landing page for it first!!! Then we can link to the landing page… which would have a CTA and encourage people to do it

1 Like

That’s an awesomeeeee idea! Could do a whole campaign on it…

1 Like

I think this would also make sense as a page on radicle.xyz, BUT I should say here that I don’t think we’re at the point yet where we want to start inviting the broader public… There are still a couple of critical missing features that we should include in our Minimum Viable Product (MVP), so we don’t disappoint early adopters (e.g. CI integrations, Notifications, to name a couple).

Perhaps we can begin working on what the migration journey looks like in parallel to this work, but it might even be too soon just now…

I think we definitely need @cloudhead 's point of view here !

1 Like