scripts: add publishing scripts
This commit is contained in:
parent
491d19469a
commit
d759982853
|
@ -0,0 +1,18 @@
|
||||||
|
import json
|
||||||
|
import sys
|
||||||
|
|
||||||
|
priority_queue = []
|
||||||
|
packages = json.load(sys.stdin)["packages"]
|
||||||
|
|
||||||
|
def iter_packages(package_name):
|
||||||
|
package = next((package for package in packages if package["name"] == package_name), None)
|
||||||
|
if package is not None and package["source"] is None:
|
||||||
|
for dependency in package["dependencies"]:
|
||||||
|
iter_packages(dependency["name"])
|
||||||
|
if package_name not in priority_queue:
|
||||||
|
priority_queue.append(package_name)
|
||||||
|
|
||||||
|
iter_packages("keyfork")
|
||||||
|
for package_name in priority_queue:
|
||||||
|
package = next((package for package in packages if package["name"] == package_name), None)
|
||||||
|
print(" ".join([package["name"], package["version"]]))
|
|
@ -0,0 +1,15 @@
|
||||||
|
set -eu
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
scripts_dir="$(dirname $0)"
|
||||||
|
python_script="$scripts_dir/generate-dependency-queue.py"
|
||||||
|
registry_url="https://git.distrust.co/api/packages/public/cargo"
|
||||||
|
search_url="${registry_url}/api/v1/crates"
|
||||||
|
|
||||||
|
cargo metadata --format-version=1 | python3 "$python_script" | while read crate version; do
|
||||||
|
# Verify the package does not exist
|
||||||
|
if ! curl "${search_url}?q=${crate}" 2>/dev/null | jq -e "$(printf '.crates | .[] | select(.name == "%s" and .max_version == "%s")' "$crate" "$version")" >/dev/null; then
|
||||||
|
cargo publish --registry distrust -p "$crate"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
set -eu
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
LAST_REF="$1"
|
||||||
|
CURRENT_REF="${2:-HEAD}"
|
||||||
|
|
||||||
|
temp_file="$(mktemp)"
|
||||||
|
|
||||||
|
cargo metadata --format-version=1 | jq -r '.packages[] | select(.source == null) | .name + " " + .manifest_path + " " + .version' > "$temp_file"
|
||||||
|
|
||||||
|
while read crate manifest_path version <&3; do
|
||||||
|
crate_path="$(dirname $manifest_path)"
|
||||||
|
git_log="$(git log --format='%h %s' "$LAST_REF"..HEAD "$crate_path")"
|
||||||
|
git_tag="$(git tag --list "$crate-v${version}")"
|
||||||
|
if test ! -z "$git_log" -a -z "$git_tag"; then
|
||||||
|
{
|
||||||
|
echo "${crate} v${version}"
|
||||||
|
echo ""
|
||||||
|
echo "\`\`\`"
|
||||||
|
echo "$git_log"
|
||||||
|
echo "\`\`\`"
|
||||||
|
echo ""
|
||||||
|
echo "# Crate: ${crate} ${version}"
|
||||||
|
} | git tag --sign "${crate}-v${version}" -F - -e
|
||||||
|
echo "Making new tag: ${crate}-v${version}"
|
||||||
|
fi
|
||||||
|
done 3<"$temp_file"
|
||||||
|
|
||||||
|
rm "$temp_file"
|
Loading…
Reference in New Issue