OpenFn / OpenFn/lightning

Enable one way github sync

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

Nobody has claimed this yet.

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

Description

If you enable v2 sync in the app, it'll setup a bi-directional sync. That means that from the app you can Save & Sync and it'll push back to github, and commits made to github will deploy to the app.

But it can be useful to restrict sync to only work one way - to deploy to multiple targets on commit.

I think the use-case is:

  • I have a project at app.openfn.org which my developers use
  • When I merge a sandbox with a new feature or fix into my main project, I want to sync back to github
  • Github is connected to deployed projects running on-site at healthcare clinics
  • When github received a commit on main, I want to deploy an update to all my connected sites
  • I do NOT want someone to access an openfn instance on-site, make a change, and hit Save & Sync - which would update all my connected instances, including app.openfn.org and other live clinics.

I don't think the inverse use-case is true: I don't think you'd ever want to pull multiple app instances into a single repo. I can't make any sense of that in my little mind.

That would mean you can brand this as "deploy only" sync, or have a checkbox like "Enable Save & Sync for this project"

It's possible that this use-case shouldn't use github sync at all, and the on-site apps aren't aware they're synced. There's just a specially configured github action (possibly bespoke) which handles the sync on commit. OTOH this is all github sync is.

It would also be nice, in this use-case, to not have a GH action per connected project, but to have a single GH action which publishes to all connected apps (controlled by a list somewhere). This is a more github sync v2-ish thing though

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

No files, tests, or entry points are named. Start by reviewing the existing v2 GitHub sync and Save & Sync behavior, then compare it with the proposed deploy-only and multi-target GitHub Action options. Done should be a decided scope and an implemented one-way sync behavior with coverage for the selected configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, github-actions
Domain
devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.