Make v2 Sync the default
Nobody has claimed this yet.
- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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