-
Notifications
You must be signed in to change notification settings - Fork 14
Description
- add
projects: stateto serialize to an old state file - will this work with gh sync? I guess I need config too?
- alternatively, modify the old deploy to load from a new project file, if it exists
Acceptance criteria
- I have a v2 project locally set up (ie, I ran
openfn project pull <uuid>from some lightning instance) - I can run the GH sync pull command:
openfn pull $OPENFN_PROJECT_ID --config-path $OPENFN_CONFIG_PATH --no-confirmand it will work - I can run the GH sync deploy command:
openfn deploy -c $OPENFN_CONFIG_PATH --no-confirmand it will work
We don't need to run a full github sync in production - we just need these two commands to work
Expected Issues
We have discovered a major constraint in this solution
If you have a v2 folder system using github sync, it'll work, but you can only have a single sync between a repo and lightning.
You cannot have multiple config files.
The reason for this is that we can only maintain one workflows/ folder. The whole concept of syncing your repo to an app breaks down because of how we use the file system.
So if you want to use github sync with the v2 folder structure, you can only sync one project.
There is a separate story for a v2 github sync action which will resolve this comprehnsively.
We could also explore a version of github sync which only pulls, deploys and commits the project.yaml file and ignores the workflows folder. Its just that I don't know what the point of this is - your working tree is always out of sync with the app, and you don't know the relationship between the project source and the connected app.
Could we still use config files to know which project yaml to use? Well no, because the commit is also a problem
can we have the hybrid sync just sync project.yaml files and not expand anything? yeah maybe but there's not much benefit
But mabye v1 sync remains viable and is the best option if:
- I can do
openfn checkout state.jsonto expand any state file into the nice v2 format - I can do
openfn serilize state.jsonto save my checked-out project into a v1 state file, ready to be synced. This only works if we can either a) generate a v1 project.yaml, or b) when we run v1 deploy, just deploy a statefile verbatim (skip the project.yaml merger). Aproject eject --version 1command would let me …
Metadata
Metadata
Assignees
Labels
Type
Projects
Status