forked from toolshed/abra
		
	@ -149,6 +149,38 @@ var recipeCreateCommand = &cli.Command{
 | 
				
			|||||||
	},
 | 
						},
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var recipeReleaseCommand = &cli.Command{
 | 
				
			||||||
 | 
						Name:      "release",
 | 
				
			||||||
 | 
						Usage:     "Release a new recipe version",
 | 
				
			||||||
 | 
						ArgsUsage: "<recipe>",
 | 
				
			||||||
 | 
						Action: func(c *cli.Context) error {
 | 
				
			||||||
 | 
							recipe := c.Args().First()
 | 
				
			||||||
 | 
							if recipe == "" {
 | 
				
			||||||
 | 
								internal.ShowSubcommandHelpAndError(c, errors.New("no recipe provided"))
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//TODO: read all local tags and read all upstream tags
 | 
				
			||||||
 | 
							//      and then ask which you'd like to upgrade to
 | 
				
			||||||
 | 
							//      ensure that this release isn't in local or upstream already
 | 
				
			||||||
 | 
							//      after each choice, make change and show diff
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//TODO: read the apps catalogue and read the latest version of the recipe
 | 
				
			||||||
 | 
							//      read the latest local tag of the recipe
 | 
				
			||||||
 | 
							//      if there are no new changes, and upstream/local point to same commit, there is nothing to update, bail
 | 
				
			||||||
 | 
							//      if there are changes and the commit they both point to is different, then this is a new release
 | 
				
			||||||
 | 
							//      figure out the new version
 | 
				
			||||||
 | 
							//        if the catalogue latest and the local latest are the same, N+1 release
 | 
				
			||||||
 | 
							//        otherwise, use the local latest tag as the new version
 | 
				
			||||||
 | 
							//      apply that version to all labels and show diff
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//TODO: offer to commit all the things
 | 
				
			||||||
 | 
							//      offer to make a git tag for that with the new version
 | 
				
			||||||
 | 
							//      offer to git push that upstream
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							return nil
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var recipeLintCommand = &cli.Command{
 | 
					var recipeLintCommand = &cli.Command{
 | 
				
			||||||
	Name:      "lint",
 | 
						Name:      "lint",
 | 
				
			||||||
	Usage:     "Recipe configuration linter",
 | 
						Usage:     "Recipe configuration linter",
 | 
				
			||||||
@ -253,6 +285,7 @@ how reliable this app is to deploy and maintain in its current state.
 | 
				
			|||||||
		recipeListCommand,
 | 
							recipeListCommand,
 | 
				
			||||||
		recipeVersionCommand,
 | 
							recipeVersionCommand,
 | 
				
			||||||
		recipeCreateCommand,
 | 
							recipeCreateCommand,
 | 
				
			||||||
 | 
							recipeReleaseCommand,
 | 
				
			||||||
		recipeLintCommand,
 | 
							recipeLintCommand,
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user