File tree Expand file tree Collapse file tree 4 files changed +88
-8
lines changed Expand file tree Collapse file tree 4 files changed +88
-8
lines changed Original file line number Diff line number Diff line change @@ -114,6 +114,12 @@ licenses: .state/docker-build-base
114114deps : .state/docker-build-base
115115 docker compose run --rm base bin/deps
116116
117+ deps_upgrade_all : .state/docker-build-base
118+ docker compose run --rm base bin/deps-upgrade -a
119+
120+ deps_upgrade_project : .state/docker-build-base
121+ docker compose run --rm base bin/deps-upgrade -p $(P )
122+
117123translations : .state/docker-build-base
118124 docker compose run --rm base bin/translations
119125
@@ -181,4 +187,4 @@ purge: stop clean
181187stop :
182188 docker compose stop
183189
184- .PHONY : default build serve resetdb initdb shell dbshell tests dev-docs user-docs deps clean purge debug stop compile-pot runmigrations checkdb
190+ .PHONY : default build serve resetdb initdb shell dbshell tests dev-docs user-docs deps deps_upgrade_all deps_upgrade_project clean purge debug stop compile-pot runmigrations checkdb
Original file line number Diff line number Diff line change @@ -3,13 +3,13 @@ set -ex
33
44export TMPDIR=$( mktemp -d)
55mkdir -p $TMPDIR /docs
6- pip-compile --upgrade - o $TMPDIR /deploy.txt requirements/deploy.in > /dev/null
7- pip-compile --upgrade - o $TMPDIR /main.txt requirements/main.in > /dev/null
8- pip-compile --upgrade - o $TMPDIR /lint.txt requirements/lint.in > /dev/null
9- pip-compile --upgrade - o $TMPDIR /tests.txt requirements/tests.in > /dev/null
10- pip-compile --upgrade - o $TMPDIR /docs-dev.txt requirements/docs-dev.in > /dev/null
11- pip-compile --upgrade - o $TMPDIR /docs-user.txt requirements/docs-user.in > /dev/null
12- pip-compile --upgrade - o $TMPDIR /docs-blog.txt requirements/docs-blog.in > /dev/null
6+ pip-compile -o $TMPDIR /deploy.txt requirements/deploy.in > /dev/null
7+ pip-compile -o $TMPDIR /main.txt requirements/main.in > /dev/null
8+ pip-compile -o $TMPDIR /lint.txt requirements/lint.in > /dev/null
9+ pip-compile -o $TMPDIR /tests.txt requirements/tests.in > /dev/null
10+ pip-compile -o $TMPDIR /docs-dev.txt requirements/docs-dev.in > /dev/null
11+ pip-compile -o $TMPDIR /docs-user.txt requirements/docs-user.in > /dev/null
12+ pip-compile -o $TMPDIR /docs-blog.txt requirements/docs-blog.in > /dev/null
1313python bin/depchecker.py $TMPDIR /deploy.txt requirements/deploy.txt
1414python bin/depchecker.py $TMPDIR /main.txt requirements/main.txt
1515python bin/depchecker.py $TMPDIR /lint.txt requirements/lint.txt
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+
3+ usage () {
4+ echo " Usage: $0 [OPTIONS]"
5+ echo " Options:"
6+ echo " -h, --help Display this help message"
7+ echo " -a, --all Upgrade all dependencies"
8+ echo " -p, --package PACKAGE_NAME Upgrade a specific package"
9+ }
10+
11+ has_argument () {
12+ [[ (" $1 " == * =* && -n ${1#* =} ) || ( ! -z " $2 " && " $2 " ! = -* ) ]];
13+ }
14+
15+ extract_argument () {
16+ echo " ${2:- ${1#* =} } "
17+ }
18+
19+ pip_compile_args=" "
20+
21+ handle_options () {
22+ while [ $# -gt 0 ]; do
23+ case $1 in
24+ -h | --help)
25+ usage
26+ exit 0
27+ ;;
28+ -a | --all)
29+ pip_compile_args=" --upgrade"
30+ ;;
31+ -p | --package* )
32+ if ! has_argument $@ ; then
33+ echo " Project name not specified." >&2
34+ usage
35+ exit 1
36+ fi
37+
38+ pip_compile_args=" --upgrade-package $( extract_argument $@ ) "
39+
40+ shift
41+ ;;
42+ * )
43+ echo " Invalid option: $1 " >&2
44+ usage
45+ exit 1
46+ ;;
47+ esac
48+ shift
49+ done
50+ }
51+
52+ # Main script execution
53+ handle_options " $@ "
54+
55+ set -ex
56+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/deploy.txt requirements/deploy.in
57+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/main.txt requirements/main.in
58+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/lint.txt requirements/lint.in
59+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/tests.txt requirements/tests.in
60+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/docs-dev.txt requirements/docs-dev.in
61+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/docs-user.txt requirements/docs-user.in
62+ pip-compile --allow-unsafe --generate-hashes $pip_compile_args --output-file=requirements/docs-blog.txt requirements/docs-blog.in
Original file line number Diff line number Diff line change @@ -22,6 +22,18 @@ Upgrading existing dependencies
2222Dependencies are automatically upgraded via `Dependabot pull requests `_, and
2323occasionally merged by maintainers.
2424
25+ You can manually upgrade a specific dependency with::
26+
27+ make deps_upgrade_project P={project_name}
28+
29+ For instance, to upgrade boto3::
30+
31+ make deps_upgrade_project P=boto3
32+
33+ To upgrade all dependencies, you can use::
34+
35+ make deps_upgrade_all
36+
2537Adding new dependencies
2638~~~~~~~~~~~~~~~~~~~~~~~
2739
You can’t perform that action at this time.
0 commit comments