26 lines · 921 B · Shell
RawDownload
#!/bin/bash set -eu -o pipefail #./etc/check-package-size.sh utils="${1?The first argument is the 'utils' tool}"shift for crate in git-actor git-tempfile git-lock git-features git-url git-validate git-hash git-object git-ref git-traverse git-diff git-pack git-odb git-packetline git-transport git-protocol git-repository gitoxide-core .; do  version_info=$($utils crate-path "$crate")  version_path="etc/crates/$version_info"  version_dir="${version_path%/*}"  if [[ -f "$version_path" ]]; then    echo "Skipping '$version_info' as it is published already"    continue  fi  echo "Publishing '${version_info}'…"  (cd $crate && cargo release "$@")  mkdir -p "$version_dir"  touch "$version_path"  # Need to keep the working dir clean or cargo release refuses to work  git add "$version_dir" && printf "[track publish] %s\n\n[skip ci]" "$version_info" | git commit -F -done git push --tags origin main