63 lines
2.2 KiB
Bash
Executable File
63 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
packages=(
|
|
"opentelemetry"
|
|
"opentelemetry-http"
|
|
"opentelemetry-semantic-conventions"
|
|
"opentelemetry-jaeger-propagator"
|
|
"opentelemetry-sdk"
|
|
"opentelemetry-proto"
|
|
"opentelemetry-otlp"
|
|
"opentelemetry-stdout"
|
|
"opentelemetry-zipkin"
|
|
"opentelemetry-prometheus"
|
|
"opentelemetry-appender-log"
|
|
"opentelemetry-appender-tracing"
|
|
|
|
# Add more packages as needed, in the right order. A package should only be published after all it's dependencies have been published
|
|
)
|
|
|
|
# Set the current directory to one level above the scripts directory
|
|
current_dir=$(pwd)/..
|
|
cd "$current_dir" # Change to the current directory
|
|
|
|
# Iterate over the list of packages
|
|
for package in "${packages[@]}"; do
|
|
if [ -d "$package" ]; then
|
|
echo "=================================================="
|
|
echo "Processing package: $package"
|
|
cd "$package" # Change to the directory of package
|
|
|
|
# Extract the name and version from Cargo.toml
|
|
name=$(grep -m1 '^name =' Cargo.toml | cut -d'"' -f2)
|
|
version=$(grep -m1 '^version =' Cargo.toml | cut -d'"' -f2)
|
|
|
|
if [[ -n "$name" && -n "$version" ]]; then
|
|
echo "Found package $name with version $version" in cargo.toml
|
|
|
|
# Tag the version in git
|
|
tag="${name}-${version}"
|
|
tag_message="${name} ${version} release."
|
|
# uncomment the following lines after verifying all looks good.
|
|
# git tag -a "$tag" -m "\"$tag_message\""
|
|
# git push origin "$tag"
|
|
echo "git tag -a "$tag" -m "$tag_message""
|
|
|
|
# Run cargo publish
|
|
# uncomment the following line after verifying all looks good.
|
|
# cargo publish
|
|
echo "Published $name $version"
|
|
else
|
|
echo "Error: Unable to extract name or version from Cargo.toml in $package"
|
|
fi
|
|
|
|
cd "$current_dir" # Return to the original directory
|
|
echo "Sleeping for 15 seconds before next package..."
|
|
sleep 15 # Sleep for 15 seconds to allow crates.io to index the previous package
|
|
else
|
|
echo "Skipping: $package is not a valid package directory."
|
|
fi
|
|
done
|
|
|
|
echo "Finished publishing all packages."
|