OpenFn / OpenFn/lightning

Make v2 Sync the default

Open
#4,705 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

sync v2
Dominant language
Elixir
Stars
296
Forks
86
Avg merge
1d 13h
Merged PRs (30d)
50

Description

This is a reminder issue to make the v2 sync protocol the default across the app.

Background

In the hazy mists of time we introduced a really hoopy feature called GitHub Sync, twinned with the cli deploy and cli pull commands. They enabled pure magic by allowing a project sitting in one app instance to be instantly replicated on a user's local machine, backed up to GitHub, or deployed to another OpenFn server.

Recently we've revised this protocol to be more user friendly. The difference basically is that the project.yaml file has been replaced with the filesystem, expanding workflows and steps to their own files, which makes diffs much easier to manage.

Work to be Done

At the time of writing, v1 sync is everywhere in the docs and app.

v2 sync needs a little more time in the wild, but here's what needs to be done to deprecate it and make v2 the default:

  • Update the Connect to GitHub UIs to make v2 sync the default. Users can opt-in to using the legacy version if they have a really compelling reason to do so
  • Update docs so that v2 is always documented first. v1 pages should be left alive as a footnote or archive, but not be prominent.

I don't think we can remove v1 entirely. At the time of writing, users who have two-way syncs to multiple projects on the same GH branch will NOT be able to migrate to v2 (because all syncs will write to workflows and override each other). To facilitate this we'd need to support multiple openfn files or multiple workflows folders (like a monorepo I guess), but these feel like such messy solutions I'm not keen to support them.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Connect to GitHub UIs, the cli deploy and cli pull entry points, and the documentation pages covering sync. Make v2 the default while leaving v1 available as an opt-in or archive, then verify that v2 is presented first throughout the app and docs.

Written by the indexing model from the issue text.

Assessment

Tech stack
elixir, github
Domain
cli, documentation, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.