certbot/tools/pinning/current/repin.sh
Brad Warren 746631351f
Prep for 1.32.2 (#9514)
* Update dependencies (#9505)

* upgrade dependencies

* forbid old setuptools

(cherry picked from commit 70a36fdf00)

* fix help output (#9509)

(cherry picked from commit 27af7b5d15)

* add reminder to repin.sh

* write changelog entry

* pin back mypy
2022-12-16 12:43:17 -08:00

27 lines
1.3 KiB
Bash
Executable file

#!/bin/bash
# This script accepts no arguments and automates the process of updating
# Certbot's dependencies including automatically updating the correct file.
# Dependencies can be pinned to older versions by modifying pyproject.toml in
# the same directory as this file.
set -euo pipefail
WORK_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
COMMON_DIR="$(dirname "${WORK_DIR}")/common"
REPO_ROOT="$(git rev-parse --show-toplevel)"
RELATIVE_SCRIPT_PATH="$(realpath --relative-to "$REPO_ROOT" "$WORK_DIR")/$(basename "${BASH_SOURCE[0]}")"
REQUIREMENTS_FILE="$REPO_ROOT/tools/requirements.txt"
PINNINGS=$("${COMMON_DIR}/export-pinned-dependencies.sh" "${WORK_DIR}")
cat << EOF > "$REQUIREMENTS_FILE"
# This file was generated by $RELATIVE_SCRIPT_PATH and can be updated using
# that script.
#
# It is normally used as constraints to pip, however, it has the name
# requirements.txt so that is scanned by GitHub. See
# https://docs.github.com/en/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems
# for more info.
EOF
echo "${PINNINGS}" >> "${REQUIREMENTS_FILE}"
echo "You should copy the changes made to tools/requirements.txt to"
echo "tools/1.32.x/requirements.txt on the master branch. See"
echo "https://github.com/certbot/certbot/pull/9506 for more info."