Use `Single.using` instead of `onError`/`onSuccess` for async uploads

Failed in 30m 33s
:pipeline:
:fedora: Fedora 39 (OpenJDK 17, gcc 13.1.1)
Clang on :ubuntu: Ubuntu 20.04 LTS
Windows (arm64) on :windows: Windows
RBE on :ubuntu: Ubuntu 20.04 LTS
Docs on :ubuntu: Ubuntu 20.04 LTS
2/4
:centos: CentOS 7 (shard 2)curl -sS https://raw.githubusercontent.com/bazelbuild/continuous-integration/master/buildkite/bazelci.py?1739184794 -o bazelci.py && python3.6 bazelci.py runner --task=centos7 --file_config=.bazelci/presubmit.yml
Waited 10s
·
Ran in 25m 55s
Total Job Run Time: 11h 46m