mirror of
https://github.com/openai/openai-go.git
synced 2026-04-01 17:17:14 +09:00
51 lines
1.3 KiB
Bash
Executable File
51 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -exuo pipefail
|
|
|
|
DIST_DIR="dist"
|
|
FILENAME="source.zip"
|
|
|
|
mapfile -d '' files < <(
|
|
find . -type f \
|
|
\( -name '*.go' -o -name 'go.mod' -o -name 'go.sum' \) \
|
|
! -path "./${DIST_DIR}/*" \
|
|
-print0
|
|
)
|
|
|
|
if [[ ${#files[@]} -eq 0 ]]; then
|
|
echo -e "\033[31mNo Go source files found for packaging.\033[0m"
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$DIST_DIR"
|
|
rm -f "${DIST_DIR}/${FILENAME}"
|
|
|
|
relative_files=()
|
|
for file in "${files[@]}"; do
|
|
relative_files+=("${file#./}")
|
|
done
|
|
|
|
zip "${DIST_DIR}/${FILENAME}" "${relative_files[@]}"
|
|
|
|
RESPONSE=$(curl -X POST "$URL?filename=$FILENAME" \
|
|
-H "Authorization: Bearer $AUTH" \
|
|
-H "Content-Type: application/json")
|
|
|
|
SIGNED_URL=$(echo "$RESPONSE" | jq -r '.url')
|
|
|
|
if [[ "$SIGNED_URL" == "null" ]]; then
|
|
echo -e "\033[31mFailed to get signed URL.\033[0m"
|
|
exit 1
|
|
fi
|
|
|
|
UPLOAD_RESPONSE=$(curl -v -X PUT \
|
|
-H "Content-Type: application/zip" \
|
|
--data-binary "@${DIST_DIR}/${FILENAME}" "$SIGNED_URL" 2>&1)
|
|
|
|
if echo "$UPLOAD_RESPONSE" | grep -q "HTTP/[0-9.]* 200"; then
|
|
echo -e "\033[32mUploaded build to Stainless storage.\033[0m"
|
|
echo -e "\033[32mInstallation: Download and unzip: 'https://pkg.stainless.com/s/openai-go/$SHA'. Run 'go mod edit -replace github.com/openai/openai-go/v3=/path/to/unzipped_directory'.\033[0m"
|
|
else
|
|
echo -e "\033[31mFailed to upload artifact.\033[0m"
|
|
exit 1
|
|
fi
|