[cd][release] add pypi index for every commit and nightly build (#11404)
Signed-off-by: youkaichao <youkaichao@gmail.com> Co-authored-by: Roger Wang <136131678+ywang96@users.noreply.github.com>
This commit is contained in:
24
.buildkite/generate_index.py
Normal file
24
.buildkite/generate_index.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
|
||||||
|
template = """<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<h1>Links for vLLM</h1/>
|
||||||
|
<a href="../{wheel_html_escaped}">{wheel}</a><br/>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
"""
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument("--wheel", help="The wheel path.", required=True)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
filename = os.path.basename(args.wheel)
|
||||||
|
|
||||||
|
with open("index.html", "w") as f:
|
||||||
|
print(f"Generated index.html for {args.wheel}")
|
||||||
|
# cloudfront requires escaping the '+' character
|
||||||
|
f.write(
|
||||||
|
template.format(wheel=filename,
|
||||||
|
wheel_html_escaped=filename.replace("+", "%2B")))
|
||||||
@@ -23,6 +23,8 @@ wheel="$new_wheel"
|
|||||||
version=$(unzip -p "$wheel" '**/METADATA' | grep '^Version: ' | cut -d' ' -f2)
|
version=$(unzip -p "$wheel" '**/METADATA' | grep '^Version: ' | cut -d' ' -f2)
|
||||||
echo "Version: $version"
|
echo "Version: $version"
|
||||||
|
|
||||||
|
normal_wheel="$wheel" # Save the original wheel filename
|
||||||
|
|
||||||
# If the version contains "dev", rename it to v1.0.0.dev for consistency
|
# If the version contains "dev", rename it to v1.0.0.dev for consistency
|
||||||
if [[ $version == *dev* ]]; then
|
if [[ $version == *dev* ]]; then
|
||||||
suffix="${version##*.}"
|
suffix="${version##*.}"
|
||||||
@@ -32,12 +34,24 @@ if [[ $version == *dev* ]]; then
|
|||||||
new_version="1.0.0.dev"
|
new_version="1.0.0.dev"
|
||||||
fi
|
fi
|
||||||
new_wheel="${wheel/$version/$new_version}"
|
new_wheel="${wheel/$version/$new_version}"
|
||||||
mv -- "$wheel" "$new_wheel"
|
# use cp to keep both files in the artifacts directory
|
||||||
|
cp -- "$wheel" "$new_wheel"
|
||||||
wheel="$new_wheel"
|
wheel="$new_wheel"
|
||||||
version="$new_version"
|
version="$new_version"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Upload the wheel to S3
|
# Upload the wheel to S3
|
||||||
|
python3 .buildkite/generate_index.py --wheel "$normal_wheel"
|
||||||
|
|
||||||
|
# generate index for this commit
|
||||||
aws s3 cp "$wheel" "s3://vllm-wheels/$BUILDKITE_COMMIT/"
|
aws s3 cp "$wheel" "s3://vllm-wheels/$BUILDKITE_COMMIT/"
|
||||||
|
aws s3 cp "$normal_wheel" "s3://vllm-wheels/$BUILDKITE_COMMIT/"
|
||||||
|
aws s3 cp index.html "s3://vllm-wheels/$BUILDKITE_COMMIT/vllm/index.html"
|
||||||
|
aws s3 cp "s3://vllm-wheels/nightly/index.html" "s3://vllm-wheels/$BUILDKITE_COMMIT/index.html"
|
||||||
|
|
||||||
|
# generate index for nightly
|
||||||
aws s3 cp "$wheel" "s3://vllm-wheels/nightly/"
|
aws s3 cp "$wheel" "s3://vllm-wheels/nightly/"
|
||||||
|
aws s3 cp "$normal_wheel" "s3://vllm-wheels/nightly/"
|
||||||
|
aws s3 cp index.html "s3://vllm-wheels/nightly/vllm/index.html"
|
||||||
|
|
||||||
aws s3 cp "$wheel" "s3://vllm-wheels/$version/"
|
aws s3 cp "$wheel" "s3://vllm-wheels/$version/"
|
||||||
Reference in New Issue
Block a user