mirror of
https://github.com/ansible/awx.git
synced 2026-01-18 05:01:19 -03:30
- upgrades
- Django 3.0.14
- django-jsonfield 1.4.1 (from 1.2.0)
- django-oauth-toolkit 1.4.1 (from 1.1.3)
- Stopping here because later versions have changes to the
underlying model to support OpenID Connect. Presumably this can
be dealt with via a migration in our project.
- django-guid 2.2.1 (from 2.2.0)
- django-debug-toolbar 3.2.4 (from 1.11.1)
- python3-saml 1.13.0 (from 1.9.0)
- xmlsec 1.3.12 (from 1.3.3)
- Remove our project's use of django.utils.six in favor of directly
using six, in awx.sso.fields.
- Temporarily monkey patch six back in as django.utils.six, since
django-jsonfield makes use of that import, and is no longer being
updated. Hopefully we can do away with this dependency with the new
generalized JSONField brought in with Django 3.1.
- Force a json decoder to be used with all instances of JSONField
brought in by django-jsonfield. This deals with the 'cast to text'
problem noted previously in our UPGRADE_BLOCKERS.
- Remove the validate_uris validator from the OAuth2Application in
migration 0025, per the UPGRADE_BLOCKERS, and remove that note.
- Update the TEMPLATES setting to satisfy Django Debug Toolbar. It
requires at least one entry that has APP_DIRS=True, and as near as I
can tell our custom OPTIONS.loaders setting was effectively doing
the same thing as Django's own machinery if this setting is set.
54 lines
1.4 KiB
Bash
Executable File
54 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
set -ue
|
|
|
|
requirements_in="$(readlink -f ./requirements.in)"
|
|
requirements="$(readlink -f ./requirements.txt)"
|
|
requirements_git="$(readlink -f ./requirements_git.txt)"
|
|
pip_compile="pip-compile --no-header --quiet -r --allow-unsafe"
|
|
|
|
_cleanup() {
|
|
cd /
|
|
test "${KEEP_TMP:-0}" = 1 || rm -rf "${_tmp}"
|
|
}
|
|
|
|
generate_requirements() {
|
|
venv="`pwd`/venv"
|
|
echo $venv
|
|
/usr/bin/python3 -m venv "${venv}"
|
|
# shellcheck disable=SC1090
|
|
source ${venv}/bin/activate
|
|
|
|
# FIXME: https://github.com/jazzband/pip-tools/issues/1558
|
|
${venv}/bin/python3 -m pip install -U 'pip<22.0' pip-tools
|
|
|
|
${pip_compile} "${requirements_in}" "${requirements_git}" --output-file requirements.txt
|
|
# consider the git requirements for purposes of resolving deps
|
|
# Then remove any git+ lines from requirements.txt
|
|
while IFS= read -r line; do
|
|
if [[ $line != \#* ]]; then # ignore comments
|
|
sed -i "\!${line%#*}!d" requirements.txt
|
|
fi
|
|
done < "${requirements_git}"
|
|
}
|
|
|
|
main() {
|
|
_tmp="$(mktemp -d --suffix .awx-requirements XXXX -p /tmp)"
|
|
trap _cleanup INT TERM EXIT
|
|
|
|
if [ "$1" = "upgrade" ]; then
|
|
pip_compile="${pip_compile} --upgrade"
|
|
fi
|
|
|
|
cp -vf requirements.txt "${_tmp}"
|
|
cd "${_tmp}"
|
|
|
|
generate_requirements
|
|
|
|
cp -vf requirements.txt "${requirements}"
|
|
|
|
_cleanup
|
|
}
|
|
|
|
# set EVAL=1 in case you want to source this script
|
|
test "${EVAL:-0}" -eq "1" || main "${1:-}"
|