Added support for build command chaining and error on missing wheel (#607)

## Changes
Added support for build command chaining and error on missing wheel
This commit is contained in:
Andrew Nester 2023-07-26 14:58:52 +02:00 committed by GitHub
parent 8cdf7284f8
commit 12bba17743
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 4 deletions

View File

@ -1,6 +1,7 @@
package config
import (
"bytes"
"context"
"fmt"
"os/exec"
@ -40,10 +41,19 @@ func (a *Artifact) Build(ctx context.Context) ([]byte, error) {
return nil, fmt.Errorf("no build property defined")
}
buildParts := strings.Split(a.BuildCommand, " ")
cmd := exec.CommandContext(ctx, buildParts[0], buildParts[1:]...)
cmd.Dir = a.Path
return cmd.CombinedOutput()
out := make([][]byte, 0)
commands := strings.Split(a.BuildCommand, " && ")
for _, command := range commands {
buildParts := strings.Split(command, " ")
cmd := exec.CommandContext(ctx, buildParts[0], buildParts[1:]...)
cmd.Dir = a.Path
res, err := cmd.CombinedOutput()
if err != nil {
return res, err
}
out = append(out, res)
}
return bytes.Join(out, []byte{}), nil
}
func (a *Artifact) NormalisePaths() {

View File

@ -68,6 +68,10 @@ func findArtifactsAndMarkForUpload(ctx context.Context, lib *compute.Library, b
return err
}
if len(matches) == 0 && isLocalLibrary(lib) {
return fmt.Errorf("no library found for %s", libPath(lib))
}
for _, match := range matches {
af, err := findArtifactFileByLocalPath(match, b)
if err != nil {
@ -105,3 +109,7 @@ func libPath(library *compute.Library) string {
return ""
}
func isLocalLibrary(library *compute.Library) bool {
return libPath(library) != ""
}