diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2023-05-12 13:42:45 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <wp32pw@gmail.com> | 2023-05-15 10:44:50 +0200 |
| commit | e9f324cf6d085e7e9b87302e5f9df84199b240b0 (patch) | |
| tree | 11a94642600f97bf69f76d794660abc6846c9040 /syz-ci/manager.go | |
| parent | b8bae4ab4a12912a6fd2f6882c860a79d803bd2b (diff) | |
syz-ci: optionally publish GCS objects
Earlier `syz-ci: don't publish uploaded files` commit completely
disabled the GCS object publishing after each object.
However, it turns out that otherwise the objects quickly lose the
`public to internet` flag.
Make the option configurable.
Diffstat (limited to 'syz-ci/manager.go')
| -rw-r--r-- | syz-ci/manager.go | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/syz-ci/manager.go b/syz-ci/manager.go index 71bd35980..7ec7ba1cc 100644 --- a/syz-ci/manager.go +++ b/syz-ci/manager.go @@ -791,7 +791,7 @@ func (mgr *Manager) uploadCoverReport() error { } defer resp.Body.Close() if directUpload { - return uploadFile(mgr.cfg.CoverUploadPath, mgr.name+".html", resp.Body) + return mgr.uploadFile(mgr.cfg.CoverUploadPath, mgr.name+".html", resp.Body) } // Upload via the asset storage. newAsset, err := mgr.storage.UploadBuildAsset(resp.Body, mgr.name+".html", @@ -812,10 +812,10 @@ func (mgr *Manager) uploadCorpus() error { return err } defer f.Close() - return uploadFile(mgr.cfg.CorpusUploadPath, mgr.name+"-corpus.db", f) + return mgr.uploadFile(mgr.cfg.CorpusUploadPath, mgr.name+"-corpus.db", f) } -func uploadFile(dstPath, name string, file io.Reader) error { +func (mgr *Manager) uploadFile(dstPath, name string, file io.Reader) error { URL, err := url.Parse(dstPath) if err != nil { return fmt.Errorf("failed to parse upload path: %v", err) @@ -824,17 +824,17 @@ func uploadFile(dstPath, name string, file io.Reader) error { URLStr := URL.String() log.Logf(0, "uploading %v to %v", name, URLStr) if strings.HasPrefix(URLStr, "gs://") { - return uploadFileGCS(strings.TrimPrefix(URLStr, "gs://"), file) + return uploadFileGCS(strings.TrimPrefix(URLStr, "gs://"), file, mgr.cfg.PublishGCS) } if strings.HasPrefix(URLStr, "http://") || strings.HasPrefix(URLStr, "https://") { return uploadFileHTTPPut(URLStr, file) } // Use GCS as default to maintain backwards compatibility. - return uploadFileGCS(URLStr, file) + return uploadFileGCS(URLStr, file, mgr.cfg.PublishGCS) } -func uploadFileGCS(URL string, file io.Reader) error { +func uploadFileGCS(URL string, file io.Reader, publish bool) error { GCS, err := gcs.NewClient() if err != nil { return fmt.Errorf("failed to create GCS client: %v", err) @@ -851,6 +851,9 @@ func uploadFileGCS(URL string, file io.Reader) error { if err := gcsWriter.Close(); err != nil { return fmt.Errorf("failed to close gcs writer: %v", err) } + if publish { + return GCS.Publish(URL) + } return nil } |
