Upload source files to coordinator
This commit is contained in:
parent
d4e3705be3
commit
106ac182ad
5 changed files with 16 additions and 5 deletions
|
@ -78,7 +78,7 @@ func newEnv(t *testing.T) (e *env, cancel func()) {
|
|||
env.Client = client.NewClient(
|
||||
env.Logger.Named("client"),
|
||||
coordinatorEndpoint,
|
||||
filepath.Join(absCWD, "testdata/src"))
|
||||
filepath.Join(absCWD, "testdata", t.Name()))
|
||||
|
||||
coordinatorCache, err := filecache.New(filepath.Join(env.RootDir, "coordinator", "filecache"))
|
||||
require.NoError(t, err)
|
||||
|
|
|
@ -140,9 +140,7 @@ func TestBuildResultsStreaming(t *testing.T) {
|
|||
defer cancel()
|
||||
|
||||
buildID := build.ID{02}
|
||||
|
||||
req := &api.BuildRequest{}
|
||||
|
||||
started := &api.BuildStarted{ID: buildID}
|
||||
|
||||
env.mock.EXPECT().StartBuild(gomock.Any(), gomock.Any(), gomock.Any()).
|
||||
|
|
|
@ -4,6 +4,7 @@ import (
|
|||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
"path/filepath"
|
||||
|
||||
"go.uber.org/zap"
|
||||
|
||||
|
@ -49,7 +50,8 @@ func (c *Client) uploadSources(ctx context.Context, graph *build.Graph, started
|
|||
return fmt.Errorf("file is missing in build graph: id=%s", id)
|
||||
}
|
||||
|
||||
if err := c.cache.Upload(ctx, id, path); err != nil {
|
||||
absPath := filepath.Join(c.sourceDir, path)
|
||||
if err := c.cache.Upload(ctx, id, absPath); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
|
10
distbuild/pkg/dist/build.go
vendored
10
distbuild/pkg/dist/build.go
vendored
|
@ -32,8 +32,16 @@ func NewBuild(graph *build.Graph, c *Coordinator) *Build {
|
|||
}
|
||||
}
|
||||
|
||||
func (b *Build) missingFiles() []build.ID {
|
||||
var files []build.ID
|
||||
for id := range b.Graph.SourceFiles {
|
||||
files = append(files, id)
|
||||
}
|
||||
return files
|
||||
}
|
||||
|
||||
func (b *Build) Run(ctx context.Context, w api.StatusWriter) error {
|
||||
if err := w.Started(&api.BuildStarted{ID: b.ID}); err != nil {
|
||||
if err := w.Started(&api.BuildStarted{ID: b.ID, MissingFiles: b.missingFiles()}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
|
@ -46,6 +46,8 @@ func (h *Handler) doGet(w http.ResponseWriter, r *http.Request, id build.ID) err
|
|||
if _, err = io.Copy(w, f); err != nil {
|
||||
h.l.Warn("error streaming file", zap.Error(err))
|
||||
}
|
||||
|
||||
h.l.Debug("file download complete", zap.String("id", id.String()))
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -70,6 +72,7 @@ func (h *Handler) doPut(w http.ResponseWriter, r *http.Request, id build.ID) err
|
|||
}
|
||||
|
||||
w.WriteHeader(http.StatusOK)
|
||||
h.l.Debug("file upload complete", zap.String("id", id.String()))
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue