INNER CODE UNIT · Go
copySoakArtifact
redpanda-data/connect · benchmarking/aws/runner/main.go:856
func copySoakArtifact(ctx context.Context, fetcher LogFetcher, client *s3.Client, sessionBucket, archiveBucket, key string) error {
body, err := fetcher.Fetch(ctx, sessionBucket, key)
if err != nil {
return fmt.Errorf("fetch from session bucket %q: %w", sessionBucket, err)
}
defer body.Close()
raw, err := io.ReadAll(body)
if err != nil {
return fmt.Errorf("read: %w", err)
}
return putSoakArchiveObject(ctx, client, archiveBucket, key, raw)
}
// soakComparisonBaseArm and soakComparisonPRArm are the fixed logical arm
// ids reportSoakComparison compares. A PR-triggered soak workflow always
// supplies exactly these two --binary mappings (see the binary-arm shape
// Scenario.Validate enforces); a scenario using different arm ids simply
// has no base/pr pair to compare, so BuildSoakComparisonMarkdown's own