From bbd315614251b3e8837fa1a6f8547921ee8cc8ea Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Thu, 15 Feb 2024 15:58:41 +0000 Subject: [PATCH 1/4] Dockerfile: Update elasticsearch minor version --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index f79d8f61..f7167682 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,11 +45,11 @@ RUN apk add --no-cache libmemcached-dev zlib-dev RUN apk add --no-cache openjdk8-jre su-exec -ENV VERSION 6.8.21 +ENV VERSION 6.8.23 ENV DOWNLOAD_URL "https://artifacts.elastic.co/downloads/elasticsearch" ENV ES_TARBAL "${DOWNLOAD_URL}/elasticsearch-oss-${VERSION}.tar.gz" # ENV EXPECTED_SHA_URL "${DOWNLOAD_URL}/elasticsearch-oss-${VERSION}.tar.gz.sha512" -ENV ES_TARBALL_SHA "875b34db1458f51e1c738ef82a0c00aae7c558e0eb76c149d354d3be8695bb3d4397dddff9ab76cc111f1c4cb64b9767ac63cb15155007f4403e7ab930acd40a" +ENV ES_TARBALL_SHA "14dbb2809b06499373c3ec5035d829d62255c2c93103618fbfe3d7d03cecf8847f654e83c78f765f23224126ff18ed713b959857e8ecf435c475b11bcd143d3f" RUN apk add --no-cache -t .build-deps wget ca-certificates gnupg openssl \ && set -ex \ && cd /tmp \ From efc532f554e6a228eac55f7b50cd6c127d64de61 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Tue, 20 Feb 2024 10:14:23 +0000 Subject: [PATCH 2/4] requirements: Update all requirements, restrict versions of some Restrict the versions of: django, elasticsearch and wagtail, and some dev dependencies. As a result of these updates, PYTHONPATH is now required to be set. --- Dockerfile | 1 + requirements.in | 50 ++--- requirements.txt | 163 ++++++++------- requirements_dev.in | 32 +-- requirements_dev.txt | 457 ++++++++++++++++++++++++++++--------------- 5 files changed, 433 insertions(+), 270 deletions(-) diff --git a/Dockerfile b/Dockerfile index f7167682..450b4a95 100644 --- a/Dockerfile +++ b/Dockerfile @@ -96,6 +96,7 @@ COPY requirements_dev.txt /usr/src/app/ COPY entrypoint.sh /usr/src/app/ ENV VIRTUAL_ENV=/usr/src/venv ENV PATH=$VIRTUAL_ENV/bin:$HOME/.cargo/bin:$PATH +ENV PYTHONPATH=/usr/src/app/ RUN apk -U upgrade # Use a virtual env here, because othewise we get conflicats between Alpine's diff --git a/requirements.in b/requirements.in index 712a66d8..fb79b580 100644 --- a/requirements.in +++ b/requirements.in @@ -1,26 +1,26 @@ -Babel==2.9.1 -beautifulsoup4==4.8.2 -bleach==3.3.0 -dj-database-url==0.5 -django-compressor==4.1 -django-extensions==3.1.3 -django-import-export==2.5.0 -django-haystack==3.0 -django-modeltranslation==0.17.2 -django-prettyjson==0.4.1 -django-recaptcha3==0.4.0 -django-storages[azure]==1.11.1 -django-widget-tweaks==1.4.8 -Django==3.2.4 -elasticsearch==6.8.2 -gunicorn==20.1.0 -opencensus-ext-azure==1.0.7 -opencensus-ext-django==0.7.4 -PyGithub==1.55 -psycopg2-binary==2.8.6 -requests==2.25.1 -wagtail-modeltranslation==0.13.0 +Babel +beautifulsoup4 +bleach +dj-database-url +django-compressor +django-extensions +django-import-export +django-haystack +django-modeltranslation +django-prettyjson +django-recaptcha3 +django-storages[azure] +django-widget-tweaks +Django>=3.2,<3.3 +elasticsearch>=6.8,<7 +gunicorn +opencensus-ext-azure +opencensus-ext-django +PyGithub +psycopg2-binary +requests +wagtail-modeltranslation wagtail>=4.1,<4.2 -Wand==0.6.6 -whitenoise==5.2.0 -wrapt==1.11.* +Wand +whitenoise +wrapt diff --git a/requirements.txt b/requirements.txt index a21657bc..69390fc8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,45 +8,54 @@ anyascii==0.3.2 # via wagtail asgiref==3.7.2 # via django -azure-common==1.1.28 +azure-core==1.30.0 # via + # azure-identity # azure-storage-blob - # azure-storage-common -azure-storage-blob==2.1.0 + # django-storages + # opencensus-ext-azure +azure-identity==1.15.0 + # via opencensus-ext-azure +azure-storage-blob==12.19.0 # via django-storages -azure-storage-common==2.1.0 - # via azure-storage-blob -babel==2.9.1 +babel==2.14.0 # via -r requirements.in -beautifulsoup4==4.8.2 +beautifulsoup4==4.11.2 # via # -r requirements.in # wagtail -bleach==3.3.0 +bleach==6.1.0 # via -r requirements.in -cachetools==5.3.1 +cachetools==5.3.2 # via google-auth -certifi==2023.7.22 +certifi==2024.2.2 # via requests -cffi==1.15.1 +cffi==1.16.0 # via # cryptography # pynacl -chardet==4.0.0 +charset-normalizer==3.3.2 # via requests -cryptography==41.0.3 - # via azure-storage-common +cryptography==42.0.3 + # via + # azure-identity + # azure-storage-blob + # msal + # pyjwt defusedxml==0.7.1 - # via odfpy + # via + # odfpy + # willow deprecated==1.2.14 # via pygithub diff-match-patch==20230430 # via django-import-export -dj-database-url==0.5.0 +dj-database-url==2.1.0 # via -r requirements.in -django==3.2.4 +django==3.2.24 # via # -r requirements.in + # dj-database-url # django-appconf # django-extensions # django-filter @@ -63,21 +72,21 @@ django==3.2.4 # opencensus-ext-django # wagtail # wagtail-modeltranslation -django-appconf==1.0.5 +django-appconf==1.0.6 # via django-compressor -django-compressor==4.1 +django-compressor==4.4 # via -r requirements.in -django-extensions==3.1.3 +django-extensions==3.2.3 # via -r requirements.in django-filter==22.1 # via wagtail -django-haystack==3.0 +django-haystack==3.2.1 # via -r requirements.in -django-import-export==2.5.0 +django-import-export==3.3.7 # via -r requirements.in -django-modelcluster==6.0 +django-modelcluster==6.2.1 # via wagtail -django-modeltranslation==0.17.2 +django-modeltranslation==0.18.11 # via # -r requirements.in # wagtail-modeltranslation @@ -87,13 +96,13 @@ django-prettyjson==0.4.1 # via -r requirements.in django-recaptcha3==0.4.0 # via -r requirements.in -django-storages[azure]==1.11.1 +django-storages[azure]==1.14.2 # via -r requirements.in django-taggit==3.1.0 # via wagtail -django-treebeard==4.7 +django-treebeard==4.7.1 # via wagtail -django-widget-tweaks==1.4.8 +django-widget-tweaks==1.5.0 # via -r requirements.in djangorestframework==3.14.0 # via wagtail @@ -103,51 +112,65 @@ elasticsearch==6.8.2 # via -r requirements.in et-xmlfile==1.1.0 # via openpyxl -google-api-core==2.11.1 +filetype==1.2.0 + # via willow +google-api-core==2.17.1 # via opencensus -google-auth==2.22.0 +google-auth==2.28.0 # via google-api-core -googleapis-common-protos==1.60.0 +googleapis-common-protos==1.62.0 # via google-api-core -gunicorn==20.1.0 +gunicorn==21.2.0 # via -r requirements.in html5lib==1.1 # via wagtail -idna==2.10 +idna==3.6 # via requests +isodate==0.6.1 + # via azure-storage-blob l18n==2021.3 # via wagtail markuppy==1.14 # via tablib +msal==1.26.0 + # via + # azure-identity + # msal-extensions +msal-extensions==1.1.0 + # via azure-identity odfpy==1.4.1 # via tablib -opencensus==0.11.2 +opencensus==0.11.4 # via # opencensus-ext-azure # opencensus-ext-django opencensus-context==0.1.3 # via opencensus -opencensus-ext-azure==1.0.7 +opencensus-ext-azure==1.1.13 # via -r requirements.in -opencensus-ext-django==0.7.4 +opencensus-ext-django==0.8.0 # via -r requirements.in openpyxl==3.1.2 # via # tablib # wagtail -packaging==23.1 - # via bleach -pillow==9.5.0 +packaging==23.2 + # via + # gunicorn + # msal-extensions +pillow==10.2.0 # via wagtail -protobuf==4.24.2 +portalocker==2.8.2 + # via msal-extensions +protobuf==4.25.3 # via # google-api-core # googleapis-common-protos -psutil==5.9.5 +psutil==5.9.8 # via opencensus-ext-azure -psycopg2-binary==2.8.6 +psycopg2-binary==2.9.9 # via -r requirements.in -pyasn1==0.5.0 +pyasn1==0.5.1 # via # pyasn1-modules # rsa @@ -155,15 +178,15 @@ pyasn1-modules==0.3.0 # via google-auth pycparser==2.21 # via cffi -pygithub==1.55 +pygithub==2.2.0 # via -r requirements.in -pyjwt==2.8.0 - # via pygithub +pyjwt[crypto]==2.8.0 + # via + # msal + # pygithub pynacl==1.5.0 # via pygithub -python-dateutil==2.8.2 - # via azure-storage-common -pytz==2023.3.post1 +pytz==2024.1 # via # babel # django @@ -172,30 +195,31 @@ pytz==2023.3.post1 # l18n pyyaml==6.0.1 # via tablib -rcssmin==1.1.0 +rcssmin==1.1.1 # via django-compressor -requests==2.25.1 +requests==2.31.0 # via # -r requirements.in - # azure-storage-common + # azure-core # django-recaptcha3 # google-api-core + # msal # opencensus-ext-azure # pygithub # wagtail -rjsmin==1.2.0 +rjsmin==1.2.1 # via django-compressor rsa==4.9 # via google-auth six==1.16.0 # via + # azure-core # bleach - # django-modeltranslation # django-prettyjson - # google-auth # html5lib + # isodate # l18n - # python-dateutil + # opencensus soupsieve==2.5 # via beautifulsoup4 sqlparse==0.4.4 @@ -206,30 +230,36 @@ tablib[html,ods,xls,xlsx,yaml]==3.5.0 # via django-import-export telepath==0.3.1 # via wagtail -typing-extensions==4.7.1 - # via asgiref -urllib3==1.26.16 +typing-extensions==4.9.0 + # via + # asgiref + # azure-core + # azure-storage-blob + # dj-database-url + # django-modeltranslation + # pygithub +urllib3==2.2.0 # via # elasticsearch - # google-auth + # pygithub # requests -wagtail==4.1.6 +wagtail==4.1.9 # via # -r requirements.in # wagtail-modeltranslation -wagtail-modeltranslation==0.13.0 +wagtail-modeltranslation==0.14.1 # via -r requirements.in -wand==0.6.6 +wand==0.6.13 # via -r requirements.in webencodings==0.5.1 # via # bleach # html5lib -whitenoise==5.2.0 +whitenoise==6.6.0 # via -r requirements.in -willow==1.4.1 +willow==1.6.3 # via wagtail -wrapt==1.11.2 +wrapt==1.16.0 # via # -r requirements.in # deprecated @@ -237,6 +267,3 @@ xlrd==2.0.1 # via tablib xlwt==1.3.0 # via tablib - -# The following packages are considered to be unsafe in a requirements file: -# setuptools diff --git a/requirements_dev.in b/requirements_dev.in index 7d600797..b59a5603 100644 --- a/requirements_dev.in +++ b/requirements_dev.in @@ -1,16 +1,16 @@ --r requirements.in -attrs==21.2.0 -pytest==7.1.1 -pytest-django==4.5.2 -pytest-timeout==2.1.0 -splinter==0.14.0 -pytest-splinter==3.3.1 -responses==0.13.3 -flake8==3.9.2 -pydocstyle==6.0.0 -pylint==2.4.4 -pylint-django==2.0.13 -wagtail-factories==3.1.0 -factory-boy==3.2.1 -sqlparse==0.4.2 -django-debug-toolbar==3.5.0 +-r requirements.txt +attrs +pytest +pytest-django +pytest-timeout +splinter +pytest-splinter +responses +flake8>3.9,<3.10 +pydocstyle +pylint>2.4,<2.5 +pylint-django>2.0,<2.1 +wagtail-factories +factory-boy +sqlparse +django-debug-toolbar diff --git a/requirements_dev.txt b/requirements_dev.txt index 822f18b2..6911e150 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -5,58 +5,87 @@ # pip-compile requirements_dev.in # anyascii==0.3.2 - # via wagtail + # via + # -r requirements.txt + # wagtail asgiref==3.7.2 - # via django -astroid==2.3.3 + # via + # -r requirements.txt + # django +astroid==2.3.0 # via pylint -attrs==21.2.0 +attrs==23.2.0 # via # -r requirements_dev.in # outcome - # pytest # trio -azure-common==1.1.28 +azure-core==1.30.0 # via + # -r requirements.txt + # azure-identity # azure-storage-blob - # azure-storage-common -azure-storage-blob==2.1.0 - # via django-storages -azure-storage-common==2.1.0 - # via azure-storage-blob -babel==2.9.1 - # via -r requirements.in -beautifulsoup4==4.8.2 - # via - # -r requirements.in + # django-storages + # opencensus-ext-azure +azure-identity==1.15.0 + # via + # -r requirements.txt + # opencensus-ext-azure +azure-storage-blob==12.19.0 + # via + # -r requirements.txt + # django-storages +babel==2.14.0 + # via -r requirements.txt +beautifulsoup4==4.11.2 + # via + # -r requirements.txt # wagtail -bleach==3.3.0 - # via -r requirements.in -cachetools==5.3.1 - # via google-auth -certifi==2023.7.22 +bleach==6.1.0 + # via -r requirements.txt +cachetools==5.3.2 + # via + # -r requirements.txt + # google-auth +certifi==2024.2.2 # via + # -r requirements.txt # requests # selenium -cffi==1.15.1 +cffi==1.16.0 # via + # -r requirements.txt # cryptography # pynacl -chardet==4.0.0 - # via requests -cryptography==41.0.3 - # via azure-storage-common +charset-normalizer==3.3.2 + # via + # -r requirements.txt + # requests +cryptography==42.0.3 + # via + # -r requirements.txt + # azure-identity + # azure-storage-blob + # msal + # pyjwt defusedxml==0.7.1 - # via odfpy + # via + # -r requirements.txt + # odfpy + # willow deprecated==1.2.14 - # via pygithub + # via + # -r requirements.txt + # pygithub diff-match-patch==20230430 - # via django-import-export -dj-database-url==0.5.0 - # via -r requirements.in -django==3.2.4 # via - # -r requirements.in + # -r requirements.txt + # django-import-export +dj-database-url==2.1.0 + # via -r requirements.txt +django==3.2.24 + # via + # -r requirements.txt + # dj-database-url # django-appconf # django-debug-toolbar # django-extensions @@ -74,216 +103,297 @@ django==3.2.4 # opencensus-ext-django # wagtail # wagtail-modeltranslation -django-appconf==1.0.5 - # via django-compressor -django-compressor==4.1 - # via -r requirements.in -django-debug-toolbar==3.5.0 +django-appconf==1.0.6 + # via + # -r requirements.txt + # django-compressor +django-compressor==4.4 + # via -r requirements.txt +django-debug-toolbar==4.3.0 # via -r requirements_dev.in -django-extensions==3.1.3 - # via -r requirements.in +django-extensions==3.2.3 + # via -r requirements.txt django-filter==22.1 - # via wagtail -django-haystack==3.0 - # via -r requirements.in -django-import-export==2.5.0 - # via -r requirements.in -django-modelcluster==6.0 - # via wagtail -django-modeltranslation==0.17.2 - # via - # -r requirements.in + # via + # -r requirements.txt + # wagtail +django-haystack==3.2.1 + # via -r requirements.txt +django-import-export==3.3.7 + # via -r requirements.txt +django-modelcluster==6.2.1 + # via + # -r requirements.txt + # wagtail +django-modeltranslation==0.18.11 + # via + # -r requirements.txt # wagtail-modeltranslation django-permissionedforms==0.1 - # via wagtail + # via + # -r requirements.txt + # wagtail django-prettyjson==0.4.1 - # via -r requirements.in + # via -r requirements.txt django-recaptcha3==0.4.0 - # via -r requirements.in -django-storages[azure]==1.11.1 - # via -r requirements.in + # via -r requirements.txt +django-storages[azure]==1.14.2 + # via -r requirements.txt django-taggit==3.1.0 - # via wagtail -django-treebeard==4.7 - # via wagtail -django-widget-tweaks==1.4.8 - # via -r requirements.in + # via + # -r requirements.txt + # wagtail +django-treebeard==4.7.1 + # via + # -r requirements.txt + # wagtail +django-widget-tweaks==1.5.0 + # via -r requirements.txt djangorestframework==3.14.0 - # via wagtail + # via + # -r requirements.txt + # wagtail draftjs-exporter==2.1.7 - # via wagtail + # via + # -r requirements.txt + # wagtail elasticsearch==6.8.2 - # via -r requirements.in + # via -r requirements.txt et-xmlfile==1.1.0 - # via openpyxl -exceptiongroup==1.1.3 # via + # -r requirements.txt + # openpyxl +exceptiongroup==1.2.0 + # via + # pytest # trio # trio-websocket -factory-boy==3.2.1 +factory-boy==3.3.0 # via # -r requirements_dev.in # wagtail-factories -faker==19.3.1 +faker==23.2.0 # via factory-boy +filetype==1.2.0 + # via + # -r requirements.txt + # willow flake8==3.9.2 # via -r requirements_dev.in -google-api-core==2.11.1 - # via opencensus -google-auth==2.22.0 - # via google-api-core -googleapis-common-protos==1.60.0 - # via google-api-core -gunicorn==20.1.0 - # via -r requirements.in +google-api-core==2.17.1 + # via + # -r requirements.txt + # opencensus +google-auth==2.28.0 + # via + # -r requirements.txt + # google-api-core +googleapis-common-protos==1.62.0 + # via + # -r requirements.txt + # google-api-core +gunicorn==21.2.0 + # via -r requirements.txt h11==0.14.0 # via wsproto html5lib==1.1 - # via wagtail -idna==2.10 # via + # -r requirements.txt + # wagtail +idna==3.6 + # via + # -r requirements.txt # requests # trio iniconfig==2.0.0 # via pytest +isodate==0.6.1 + # via + # -r requirements.txt + # azure-storage-blob isort==4.3.21 # via pylint l18n==2021.3 - # via wagtail -lazy-object-proxy==1.4.3 + # via + # -r requirements.txt + # wagtail +lazy-object-proxy==1.10.0 # via astroid markuppy==1.14 - # via tablib + # via + # -r requirements.txt + # tablib mccabe==0.6.1 # via # flake8 # pylint +msal==1.26.0 + # via + # -r requirements.txt + # azure-identity + # msal-extensions +msal-extensions==1.1.0 + # via + # -r requirements.txt + # azure-identity odfpy==1.4.1 - # via tablib -opencensus==0.11.2 # via + # -r requirements.txt + # tablib +opencensus==0.11.4 + # via + # -r requirements.txt # opencensus-ext-azure # opencensus-ext-django opencensus-context==0.1.3 - # via opencensus -opencensus-ext-azure==1.0.7 - # via -r requirements.in -opencensus-ext-django==0.7.4 - # via -r requirements.in + # via + # -r requirements.txt + # opencensus +opencensus-ext-azure==1.1.13 + # via -r requirements.txt +opencensus-ext-django==0.8.0 + # via -r requirements.txt openpyxl==3.1.2 # via + # -r requirements.txt # tablib # wagtail -outcome==1.2.0 +outcome==1.3.0.post0 # via trio -packaging==23.1 +packaging==23.2 # via - # bleach + # -r requirements.txt + # gunicorn + # msal-extensions # pytest -pillow==9.5.0 - # via wagtail -pluggy==1.3.0 +pillow==10.2.0 + # via + # -r requirements.txt + # wagtail +pluggy==1.4.0 # via pytest -protobuf==4.24.2 +portalocker==2.8.2 # via + # -r requirements.txt + # msal-extensions +protobuf==4.25.3 + # via + # -r requirements.txt # google-api-core # googleapis-common-protos -psutil==5.9.5 - # via opencensus-ext-azure -psycopg2-binary==2.8.6 - # via -r requirements.in -py==1.11.0 - # via pytest -pyasn1==0.5.0 +psutil==5.9.8 # via + # -r requirements.txt + # opencensus-ext-azure +psycopg2-binary==2.9.9 + # via -r requirements.txt +pyasn1==0.5.1 + # via + # -r requirements.txt # pyasn1-modules # rsa pyasn1-modules==0.3.0 - # via google-auth + # via + # -r requirements.txt + # google-auth pycodestyle==2.7.0 # via flake8 pycparser==2.21 - # via cffi -pydocstyle==6.0.0 + # via + # -r requirements.txt + # cffi +pydocstyle==6.3.0 # via -r requirements_dev.in pyflakes==2.3.1 # via flake8 -pygithub==1.55 - # via -r requirements.in -pyjwt==2.8.0 - # via pygithub +pygithub==2.2.0 + # via -r requirements.txt +pyjwt[crypto]==2.8.0 + # via + # -r requirements.txt + # msal + # pygithub pylint==2.4.4 # via # -r requirements_dev.in # pylint-django # pylint-plugin-utils -pylint-django==2.0.13 +pylint-django==2.0.15 # via -r requirements_dev.in pylint-plugin-utils==0.8.2 # via pylint-django pynacl==1.5.0 - # via pygithub + # via + # -r requirements.txt + # pygithub pysocks==1.7.1 # via urllib3 -pytest==7.1.1 +pytest==8.0.0 # via # -r requirements_dev.in # pytest-django # pytest-splinter # pytest-timeout -pytest-django==4.5.2 +pytest-django==4.8.0 # via -r requirements_dev.in -pytest-splinter==3.3.1 +pytest-splinter==3.3.2 # via -r requirements_dev.in -pytest-timeout==2.1.0 +pytest-timeout==2.2.0 # via -r requirements_dev.in python-dateutil==2.8.2 + # via faker +pytz==2024.1 # via - # azure-storage-common - # faker -pytz==2023.3.post1 - # via + # -r requirements.txt # babel # django # django-modelcluster # djangorestframework # l18n pyyaml==6.0.1 - # via tablib -rcssmin==1.1.0 - # via django-compressor -requests==2.25.1 # via - # -r requirements.in - # azure-storage-common + # -r requirements.txt + # responses + # tablib +rcssmin==1.1.1 + # via + # -r requirements.txt + # django-compressor +requests==2.31.0 + # via + # -r requirements.txt + # azure-core # django-recaptcha3 # google-api-core + # msal # opencensus-ext-azure # pygithub # responses # wagtail -responses==0.13.3 +responses==0.25.0 # via -r requirements_dev.in -rjsmin==1.2.0 - # via django-compressor +rjsmin==1.2.1 + # via + # -r requirements.txt + # django-compressor rsa==4.9 - # via google-auth -selenium==4.12.0 # via - # pytest-splinter - # splinter + # -r requirements.txt + # google-auth +selenium==4.17.2 + # via pytest-splinter six==1.16.0 # via + # -r requirements.txt # astroid + # azure-core # bleach - # django-modeltranslation # django-prettyjson - # google-auth # html5lib + # isodate # l18n + # opencensus # python-dateutil - # responses - # splinter sniffio==1.3.0 # via trio snowballstemmer==2.2.0 @@ -291,72 +401,97 @@ snowballstemmer==2.2.0 sortedcontainers==2.4.0 # via trio soupsieve==2.5 - # via beautifulsoup4 -splinter==0.14.0 + # via + # -r requirements.txt + # beautifulsoup4 +splinter==0.21.0 # via # -r requirements_dev.in # pytest-splinter -sqlparse==0.4.2 +sqlparse==0.4.4 # via + # -r requirements.txt # -r requirements_dev.in # django # django-debug-toolbar standardjson==0.3.1 - # via django-prettyjson + # via + # -r requirements.txt + # django-prettyjson tablib[html,ods,xls,xlsx,yaml]==3.5.0 - # via django-import-export + # via + # -r requirements.txt + # django-import-export telepath==0.3.1 - # via wagtail + # via + # -r requirements.txt + # wagtail tomli==2.0.1 # via pytest -trio==0.22.2 +trio==0.24.0 # via # selenium # trio-websocket -trio-websocket==0.10.4 +trio-websocket==0.11.1 # via selenium -typing-extensions==4.7.1 +typing-extensions==4.9.0 # via + # -r requirements.txt # asgiref + # azure-core + # azure-storage-blob + # dj-database-url + # django-modeltranslation # faker -urllib3[socks]==1.26.16 + # pygithub + # selenium +urllib3[socks]==2.2.0 # via + # -r requirements.txt # elasticsearch - # google-auth + # pygithub # pytest-splinter # requests # responses # selenium -wagtail==4.1.6 + # splinter +wagtail==4.1.9 # via - # -r requirements.in + # -r requirements.txt # wagtail-factories # wagtail-modeltranslation -wagtail-factories==3.1.0 +wagtail-factories==4.1.0 # via -r requirements_dev.in -wagtail-modeltranslation==0.13.0 - # via -r requirements.in -wand==0.6.6 - # via -r requirements.in +wagtail-modeltranslation==0.14.1 + # via -r requirements.txt +wand==0.6.13 + # via -r requirements.txt webencodings==0.5.1 # via + # -r requirements.txt # bleach # html5lib -whitenoise==5.2.0 - # via -r requirements.in -willow==1.4.1 - # via wagtail -wrapt==1.11.2 +whitenoise==6.6.0 + # via -r requirements.txt +willow==1.6.3 # via - # -r requirements.in + # -r requirements.txt + # wagtail +wrapt==1.16.0 + # via + # -r requirements.txt # astroid # deprecated wsproto==1.2.0 # via trio-websocket xlrd==2.0.1 - # via tablib + # via + # -r requirements.txt + # tablib xlwt==1.3.0 - # via tablib + # via + # -r requirements.txt + # tablib # The following packages are considered to be unsafe in a requirements file: # setuptools From fd9427a36ee617e363a94c94b8cc9672279682a8 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Tue, 20 Feb 2024 10:32:42 +0000 Subject: [PATCH 3/4] settings: Change from database cache to local memory cache I think lots of trips to the database is slowing down page load. --- iati/settings/base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/iati/settings/base.py b/iati/settings/base.py index 941fe862..5f504c65 100644 --- a/iati/settings/base.py +++ b/iati/settings/base.py @@ -643,12 +643,12 @@ # Caches CACHES = { 'default': { - 'BACKEND': 'django.core.cache.backends.db.DatabaseCache', + 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCATION': 'wagtail_cache', 'TIMEOUT': 86400, }, 'renditions': { - 'BACKEND': 'django.core.cache.backends.db.DatabaseCache', + 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCATION': 'wagtail_renditions_cache', 'TIMEOUT': 86400, } From c0f7392232daade8504248e65c7b26170e1b2b41 Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Wed, 21 Feb 2024 14:17:28 +0000 Subject: [PATCH 4/4] deploy: Update website VM to Ubuntu 22.04 LTS --- .github/workflows/workflow.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 73a5c2de..2a214064 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -117,7 +117,7 @@ jobs: --resource-group "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}" \ --name "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}" \ --size Standard_B2s \ - --image `az vm image list --all -p Canonical -f UbuntuServer -s 18.04-LTS --query [].urn -o tsv | sort | tail -n 1` \ + --image "Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest" \ --ssh-key-values ${{ secrets.DEV_PUB_KEYS }} && \ export NEW_IP=$(az vm list-ip-addresses --name "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}" --resource-group "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}" --query [].virtualMachine.network[].publicIpAddresses[][].ipAddress --output tsv) && \ echo "NEW_IP=$NEW_IP" >> $GITHUB_ENV && \ @@ -327,7 +327,7 @@ jobs: --resource-group "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}" \ --name "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}" \ --size Standard_B2s \ - --image `az vm image list --all -p Canonical -f UbuntuServer -s 18.04-LTS --query [].urn -o tsv | sort | tail -n 1` \ + --image "Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest" \ --ssh-key-values ${{ secrets.DEV_PUB_KEYS }} && \ export NEW_IP=$(az vm list-ip-addresses --name "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}" --resource-group "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}" --query [].virtualMachine.network[].publicIpAddresses[][].ipAddress --output tsv) && \ echo "NEW_IP=$NEW_IP" >> $GITHUB_ENV && \