upload-ci-artifact.sh 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # |source| me
  2. upload-ci-artifact() {
  3. echo "--- artifact: $1"
  4. if [[ -r "$1" ]]; then
  5. ls -l "$1"
  6. if ${BUILDKITE:-false}; then
  7. (
  8. set -x
  9. buildkite-agent artifact upload "$1"
  10. )
  11. fi
  12. else
  13. echo ^^^ +++
  14. echo "$1 not found"
  15. fi
  16. }
  17. upload-s3-artifact() {
  18. echo "--- artifact: $1 to $2"
  19. (
  20. args=(
  21. --rm
  22. --env AWS_ACCESS_KEY_ID
  23. --env AWS_SECRET_ACCESS_KEY
  24. --volume "$PWD:/solana"
  25. )
  26. if [[ $(uname -m) = arm64 ]]; then
  27. # Ref: https://blog.jaimyn.dev/how-to-build-multi-architecture-docker-images-on-an-m1-mac/#tldr
  28. args+=(
  29. --platform linux/amd64
  30. )
  31. fi
  32. args+=(
  33. amazon/aws-cli:2.13.11
  34. s3 cp "$1" "$2" --acl public-read
  35. )
  36. set -x
  37. docker run "${args[@]}"
  38. )
  39. }
  40. upload-gcs-artifact() {
  41. echo "--- artifact: $1 to $2"
  42. docker run --rm \
  43. -v "$GCS_RELEASE_BUCKET_WRITER_CREDIENTIAL:/application_default_credentials.json" \
  44. -v "$PWD:/solana" \
  45. -e CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=/application_default_credentials.json \
  46. gcr.io/google.com/cloudsdktool/google-cloud-cli:latest \
  47. gcloud storage cp "$1" "$2"
  48. }