mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-10-21 08:27:02 +00:00
Remove unused file system api (#1791)
Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
@@ -16,10 +16,8 @@ package agent
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"io"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/rs/zerolog"
|
||||
"github.com/rs/zerolog/log"
|
||||
@@ -30,7 +28,7 @@ import (
|
||||
"github.com/woodpecker-ci/woodpecker/pipeline/rpc"
|
||||
)
|
||||
|
||||
func (r *Runner) createLogger(ctxmeta context.Context, logger zerolog.Logger, uploads *sync.WaitGroup, work *rpc.Pipeline) pipeline.LogFunc {
|
||||
func (r *Runner) createLogger(_ context.Context, logger zerolog.Logger, uploads *sync.WaitGroup, work *rpc.Pipeline) pipeline.LogFunc {
|
||||
return func(step *backend.Step, rc multipart.Reader) error {
|
||||
loglogger := logger.With().
|
||||
Str("image", step.Image).
|
||||
@@ -60,73 +58,11 @@ func (r *Runner) createLogger(ctxmeta context.Context, logger zerolog.Logger, up
|
||||
|
||||
loglogger.Debug().Msg("log stream copied")
|
||||
|
||||
data, err := json.Marshal(logStream.Lines())
|
||||
if err != nil {
|
||||
loglogger.Err(err).Msg("could not marshal logstream")
|
||||
}
|
||||
|
||||
file := &rpc.File{
|
||||
Mime: "application/json+logs",
|
||||
Step: step.Alias,
|
||||
Name: "logs.json",
|
||||
Data: data,
|
||||
Size: len(data),
|
||||
Time: time.Now().Unix(),
|
||||
}
|
||||
|
||||
loglogger.Debug().Msg("log stream uploading")
|
||||
if serr := r.client.Upload(ctxmeta, work.ID, file); serr != nil {
|
||||
loglogger.Error().Err(serr).Msg("log stream upload error")
|
||||
} else {
|
||||
loglogger.Debug().Msg("log stream upload complete")
|
||||
}
|
||||
|
||||
defer func() {
|
||||
loglogger.Debug().Msg("log stream closed")
|
||||
uploads.Done()
|
||||
}()
|
||||
|
||||
part, rerr = rc.NextPart()
|
||||
if rerr != nil {
|
||||
return nil
|
||||
}
|
||||
// TODO should be configurable
|
||||
limitedPart = io.LimitReader(part, maxFileUpload)
|
||||
data, err = io.ReadAll(limitedPart)
|
||||
if err != nil {
|
||||
loglogger.Err(err).Msg("could not read limited part")
|
||||
}
|
||||
|
||||
file = &rpc.File{
|
||||
Mime: part.Header().Get("Content-Type"),
|
||||
Step: step.Alias,
|
||||
Name: part.FileName(),
|
||||
Data: data,
|
||||
Size: len(data),
|
||||
Time: time.Now().Unix(),
|
||||
Meta: make(map[string]string),
|
||||
}
|
||||
for key, value := range part.Header() {
|
||||
file.Meta[key] = value[0]
|
||||
}
|
||||
|
||||
loglogger.Debug().
|
||||
Str("file", file.Name).
|
||||
Str("mime", file.Mime).
|
||||
Msg("file stream uploading")
|
||||
|
||||
if serr := r.client.Upload(ctxmeta, work.ID, file); serr != nil {
|
||||
loglogger.Error().
|
||||
Err(serr).
|
||||
Str("file", file.Name).
|
||||
Str("mime", file.Mime).
|
||||
Msg("file stream upload error")
|
||||
}
|
||||
|
||||
loglogger.Debug().
|
||||
Str("file", file.Name).
|
||||
Str("mime", file.Mime).
|
||||
Msg("file stream upload complete")
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
@@ -277,42 +277,6 @@ func (c *client) Update(ctx context.Context, id string, state rpc.State) (err er
|
||||
return nil
|
||||
}
|
||||
|
||||
// Upload uploads the pipeline artifact.
|
||||
func (c *client) Upload(ctx context.Context, id string, file *rpc.File) (err error) {
|
||||
req := new(proto.UploadRequest)
|
||||
req.Id = id
|
||||
req.File = new(proto.File)
|
||||
req.File.Name = file.Name
|
||||
req.File.Mime = file.Mime
|
||||
req.File.Step = file.Step
|
||||
req.File.Size = int32(file.Size)
|
||||
req.File.Time = file.Time
|
||||
req.File.Data = file.Data
|
||||
req.File.Meta = file.Meta
|
||||
for {
|
||||
_, err = c.client.Upload(ctx, req)
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
|
||||
log.Err(err).Msgf("grpc error: upload(): code: %v: %s", status.Code(err), err)
|
||||
|
||||
switch status.Code(err) {
|
||||
case
|
||||
codes.Aborted,
|
||||
codes.DataLoss,
|
||||
codes.DeadlineExceeded,
|
||||
codes.Internal,
|
||||
codes.Unavailable:
|
||||
// non-fatal errors
|
||||
default:
|
||||
return err
|
||||
}
|
||||
<-time.After(backoff)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Log writes the pipeline log entry.
|
||||
func (c *client) Log(ctx context.Context, id string, line *rpc.Line) (err error) {
|
||||
req := new(proto.LogRequest)
|
||||
|
Reference in New Issue
Block a user