Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Note - branch/version is a bit blurry, but we can think of version as another 'main' branch that is being actively worked on. ex: epics 3 vs 7, both 3 and 7 are actively getting fixes.

Table of Contents
outlinetrue
stylenone

Create Issue:

Code Block
'headers': {
 	"linux_username": "string",
	"github_username": "string" 
},
'body': {
	"caterNumber": "string"
	"component": "string"
	"issueTracker": "string", // OPTIONAL
	", typically provided in the component DB
}

Behavior/Flow

  1. Given the input information, the backend creates an issue on the appropriate issueTracker.
  2. Typically the issueTracker is contained in the component DB, but the user can specify issueTracker to override.
  3. Using information on the cater backend returns a link to new issue.
  4. Ideally a comment is added to both the cater and the new issue cross-referencing each other

Return

Code Block
{
	"errorlinux_username": "string",
	"gitub_usernameissueUrl": "string"
}


Add new version for active development on component - TBD:

Code Block
'headers': {
 	"componentlinux_username": "string",
	"versiongithub_username": "string" 
},
'body': {
	"linux_usernamecomponent": "string",
	"gitub_usernameversion": "string"
}

TBD

Create new branch

Code Block
'headers': {
 	"componentlinux_username": "string",
	"versiongithub_username": "string" 
},
'body': {
	"typecomponent": "string"		// ex: [fix, dev] where fix is meant to merge to main, and dev is not
	"branchPointbranch": "string" 		// whereName of tonewly start the branch from: [branch, tag, commit]
 	"linux_username": "string",
	"gitub_usernamecreated branch
}

Behavior/Flow

  1. User creates the new branch using the CLI
  2. CLI notifies the backend that the branch has been created
  3. Backend records to branches_in_development_schema

Returns 

Code Block
{
	"error": "string"
}


Checkout component

Code Block
'headers': {
 	"componentlinux_username": "string",
	"branchgithub_username": "string" 
},
'body': {
	"linux_usernamecomponent": "string",
	"gitub_usernamebranch": "string"
}

Behavior/Flow

  1. Not clear that this is actually needed - but if we need 'eco' like functionality, we might implement this

Returns nothing

Push 

Code Block
// Any reason we can't use git directly?

Behavior/Flow

  1. Not clear that this is actually needed

Returns nothing

Mark complete (use when a dev is done, to notify backend the development is considered done)

Code Block
'headers': {
 	"componentlinux_username": "string",
	"branchgithub_username": "string" 
},
'body': {
	"linux_usernamecomponent": "string"
	"branch": "string"
	"isComplete": bool
}

Behavior/Flow

  1. Using the input information, the backend sets the developmentComplete field on the branches_in_development_schema appropriately.

Returns

Code Block
{
	"gitub_usernameerror": "string"
}


Start Build (called by runner / cli)

Code Block
'headers': {
 	"linux_username": "string",
	"github_username": "string" 
},
'body': {
  	"component": "string"
	"branch": "string"   
}

Behavior/Flow

  1. Using the information above, the backend starts an appropriate build container based on component DB. 
  2. Passes the build command from the component DB to the container
  3. Returns a URL to allow tracking the build

Returns 

Code Block
{
	"linux_usernameerror": "string",
	"gitub_usernameurl": "string"		// Where to monitor the build progress
}