Git and LRAUV-TethysDash coordination¶
-
TethysDash manages clones of the
lrauv-config
andlrauv-missions
repositories. -
The managed
lrauv-config
andlrauv-missions
clones should not be directly altered in any way (except in cases like conflict resolution). For any artifact changes or additions that need to be reflected in the LRAUV-TethysDash system, operators should follow the regular procedure for that purpose (separate clone, PRs, etc.). -
All LRAUV-TethysDash coordination –in terms of the versions that should be used regarding mission scripts and vehicle configurations– is based on the state of the corresponding repositories at Bitbucket.
-
The concrete git reference to be used by TethysDash to resolve an artifact for a vehicle depends on whether there is an ongoing deployment for that vehicle:
- If there is an ongoing deployment, then the associated git tag is used.
- Otherwise, by default, the "master" branch is used. Operators can also check out some other branch (using the 'Sync M/C' option in Dash4), which will then be used.
The following diagram illustrates the overall workflow:
flowchart LR
Author -- artifacts --> Bitbucket
preparer["Vehicle preparer"] <-- artifacts --> Bitbucket
Bitbucket -- artifacts --> TethysDash([TethysDash]) --> DashUI([DashUI])
preparer -- artifacts ---> LRAUV([LRAUV])
Author: Adds or updates mission scripts or vehicle configurations. (For simplicity, the diagram does not detail any PR workflow that may be involved.)
Vehicle preparer: Prepares vehicle for a deployment, making sure that appropriate git references are in place for mission scripts and vehicle configurations.
Bitbucket: The central, common place for mission scripts and vehicle configurations.
Note
The LRAUV will output the application git tag name in the syslog.
The way the vehicles are tagged allows the preparer to see what branch of
lrauv-mission
/lrauv-config
is loaded based on the application tag name
if they were to browse for it in Bitbucket.