Add general release command
continuous-integration/drone/pr Build is failing Details

This commit is contained in:
kolaente 2020-09-02 23:18:20 +02:00
parent 27fae6a885
commit 6bab5fd2e4
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
1 changed files with 30 additions and 1 deletions

View File

@ -420,8 +420,37 @@ func (Build) Build() {
type Release mg.Namespace
func (Release) Release() {
// Runs all steps in the right order to create release packages for various platforms
func (Release) Release(ctx context.Context) error {
mg.Deps(Build.Generate, Release.Dirs)
mg.Deps(Release.Windows, Release.Linux, Release.Darwin)
// Run compiling in parralel to speed it up
errs, _ := errgroup.WithContext(ctx)
errs.Go((Release{}).Windows)
errs.Go((Release{}).Linux)
errs.Go((Release{}).Darwin)
if err := errs.Wait(); err != nil {
return err
}
if err := (Release{}).Compress(ctx); err != nil {
return err
}
if err := (Release{}).Copy(); err != nil {
return err
}
if err := (Release{}).Check(); err != nil {
return err
}
if err := (Release{}).OsPackage(); err != nil {
return err
}
if err := (Release{}).Zip(); err != nil {
return err
}
return nil
}
// Creates all directories needed to release vikunja