From 32b6bb7a2537945d2c94553abaab0931f9bf610d Mon Sep 17 00:00:00 2001 From: ChristopherHX Date: Sun, 8 Sep 2024 01:01:50 +0200 Subject: [PATCH] fix: artifact v4 upload above 8MB (#2402) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> --- pkg/artifacts/arifacts_v4.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pkg/artifacts/arifacts_v4.go b/pkg/artifacts/arifacts_v4.go index 9a1c8897e42..1d5611b7c02 100644 --- a/pkg/artifacts/arifacts_v4.go +++ b/pkg/artifacts/arifacts_v4.go @@ -271,6 +271,16 @@ func (r *artifactV4Routes) createArtifact(ctx *ArtifactContext) { artifactName := req.Name + safeRunPath := safeResolve(r.baseDir, fmt.Sprint(runID)) + safePath := safeResolve(safeRunPath, artifactName) + safePath = safeResolve(safePath, artifactName+".zip") + file, err := r.fs.OpenWritable(safePath) + + if err != nil { + panic(err) + } + file.Close() + respData := CreateArtifactResponse{ Ok: true, SignedUploadUrl: r.buildArtifactURL("UploadArtifact", artifactName, runID), @@ -292,12 +302,7 @@ func (r *artifactV4Routes) uploadArtifact(ctx *ArtifactContext) { safePath := safeResolve(safeRunPath, artifactName) safePath = safeResolve(safePath, artifactName+".zip") - file, err := func() (WritableFile, error) { - if comp == "appendBlock" { - return r.fs.OpenAppendable(safePath) - } - return r.fs.OpenWritable(safePath) - }() + file, err := r.fs.OpenAppendable(safePath) if err != nil { panic(err) @@ -317,6 +322,7 @@ func (r *artifactV4Routes) uploadArtifact(ctx *ArtifactContext) { if err != nil { panic(err) } + file.Close() ctx.JSON(http.StatusCreated, "appended") case "blocklist": ctx.JSON(http.StatusCreated, "created")