From 28d0d53851b08ab573cd579e8d4d7c4140af198d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Behmo?= Date: Wed, 11 Oct 2023 10:39:40 +0200 Subject: [PATCH] feat: upgrade to quince --- CHANGELOG.md | 14 ++++++++++++++ .../20231003_133500_dave_remove_trailing_slash.md | 11 ----------- ...31116_110038_arbrandes_add_learner_dashboard.md | 1 - ...20231206_183103_arbrandes_fix_trailing_slash.md | 1 - ...12435_danyal.faheem_mfe_post_npm_build_patch.md | 1 - ...20231208_112710_regis_nightly_auto_build_mfe.md | 1 - .../20231208_132545_mpwheel_mfe_dev_ports.md | 1 - changelog.d/20231208_142032_arbrandes_nightly.md | 1 - .../20231208_193911_regis_mfe_refs_for_master.md | 3 --- setup.py | 4 ++-- tutormfe/__about__.py | 2 +- tutormfe/patches/openedx-cms-development-settings | 2 +- tutormfe/patches/openedx-cms-production-settings | 2 +- tutormfe/patches/openedx-lms-development-settings | 2 +- tutormfe/patches/openedx-lms-production-settings | 2 +- tutormfe/plugin.py | 2 +- tutormfe/templates/mfe/build/mfe/Dockerfile | 4 ++-- 17 files changed, 24 insertions(+), 30 deletions(-) delete mode 100644 changelog.d/20231003_133500_dave_remove_trailing_slash.md delete mode 100644 changelog.d/20231116_110038_arbrandes_add_learner_dashboard.md delete mode 100644 changelog.d/20231206_183103_arbrandes_fix_trailing_slash.md delete mode 100644 changelog.d/20231208_112435_danyal.faheem_mfe_post_npm_build_patch.md delete mode 100644 changelog.d/20231208_112710_regis_nightly_auto_build_mfe.md delete mode 100644 changelog.d/20231208_132545_mpwheel_mfe_dev_ports.md delete mode 100644 changelog.d/20231208_142032_arbrandes_nightly.md delete mode 100644 changelog.d/20231208_193911_regis_mfe_refs_for_master.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 497463be..e079f6a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,20 @@ instructions, because git commits are used to generate release notes: + +## v17.0.0 (2023-12-09) + +- 💥Upgrade to Quince (by @regisb). +- [Improvement] Added Makefile and test action to repository and formatted code with Black and isort. (by @CodeWithEmad) +- [Feature] Add support for the Learner Dashboard MFE. (by @arbrandes) +- [Bugfix] Append trailing slash to PUBLIC_PATH, as its absence breaks some MFEs. (by @arbrandes) +- [Feature] Added patch to allow changes to Dockerfile after the npm build has completed. (by @Danyal-Faheem) +- [Bugfix] Auto-build "mfe" image during `dev/local launch` in nightly. (by @regisb) +- [Bugfix] Specify port for dev server to listen on (by @michaelwheeler) +- [Feature] Enable the new per-unit discussions sidebar in the Learning MFE. (by @arbrandes) +- [Bugfix] Support MFE remotes that are not on GitHub. (by @gabor-boros and @regisb) +- 💥[Bugfix] Bypass rate-limiting when checking for upstream git changes. To achieve that, we use the `ADD --keep-git-dir` option, which is only compatible with BuildKit 0.11, from January 2023. Also, we get rid of the `get_github_refs_path` function. (by @gabor-boros and @regisb) + ## v16.1.3 (2023-12-07) diff --git a/changelog.d/20231003_133500_dave_remove_trailing_slash.md b/changelog.d/20231003_133500_dave_remove_trailing_slash.md deleted file mode 100644 index 36416779..00000000 --- a/changelog.d/20231003_133500_dave_remove_trailing_slash.md +++ /dev/null @@ -1,11 +0,0 @@ - - - -- [Bugfix] Remove the trailing slash from auto-generated PUBLIC_PATH env vars for MFEs in order to be consistent with LMS/Studio config, and so that we don't have to strip it off on the JavaScript side after the React Router 6 upgrade. (by @ormsbee) diff --git a/changelog.d/20231116_110038_arbrandes_add_learner_dashboard.md b/changelog.d/20231116_110038_arbrandes_add_learner_dashboard.md deleted file mode 100644 index e5c319a4..00000000 --- a/changelog.d/20231116_110038_arbrandes_add_learner_dashboard.md +++ /dev/null @@ -1 +0,0 @@ -- [Feature] Add support for the Learner Dashboard MFE. (by @arbrandes) diff --git a/changelog.d/20231206_183103_arbrandes_fix_trailing_slash.md b/changelog.d/20231206_183103_arbrandes_fix_trailing_slash.md deleted file mode 100644 index 5241d67f..00000000 --- a/changelog.d/20231206_183103_arbrandes_fix_trailing_slash.md +++ /dev/null @@ -1 +0,0 @@ -- [Bugfix] Append trailing slash to PUBLIC_PATH, as its absence breaks some MFEs. (by @arbrandes) diff --git a/changelog.d/20231208_112435_danyal.faheem_mfe_post_npm_build_patch.md b/changelog.d/20231208_112435_danyal.faheem_mfe_post_npm_build_patch.md deleted file mode 100644 index 8d5bf3cb..00000000 --- a/changelog.d/20231208_112435_danyal.faheem_mfe_post_npm_build_patch.md +++ /dev/null @@ -1 +0,0 @@ -- [Feature] Added patch to allow changes to Dockerfile after the npm build has completed. (by @Danyal-Faheem) \ No newline at end of file diff --git a/changelog.d/20231208_112710_regis_nightly_auto_build_mfe.md b/changelog.d/20231208_112710_regis_nightly_auto_build_mfe.md deleted file mode 100644 index 453cf083..00000000 --- a/changelog.d/20231208_112710_regis_nightly_auto_build_mfe.md +++ /dev/null @@ -1 +0,0 @@ -- [Bugfix] Auto-build "mfe" image during `dev/local launch` in nightly. (by @regisb) diff --git a/changelog.d/20231208_132545_mpwheel_mfe_dev_ports.md b/changelog.d/20231208_132545_mpwheel_mfe_dev_ports.md deleted file mode 100644 index 4d959bf8..00000000 --- a/changelog.d/20231208_132545_mpwheel_mfe_dev_ports.md +++ /dev/null @@ -1 +0,0 @@ -- [Bugfix] Specify port for dev server to listen on (by @michaelwheeler) diff --git a/changelog.d/20231208_142032_arbrandes_nightly.md b/changelog.d/20231208_142032_arbrandes_nightly.md deleted file mode 100644 index 155f4ec8..00000000 --- a/changelog.d/20231208_142032_arbrandes_nightly.md +++ /dev/null @@ -1 +0,0 @@ -- [Feature] Enable the new per-unit discussions sidebar in the Learning MFE. (by @arbrandes) diff --git a/changelog.d/20231208_193911_regis_mfe_refs_for_master.md b/changelog.d/20231208_193911_regis_mfe_refs_for_master.md deleted file mode 100644 index 9a5f70d8..00000000 --- a/changelog.d/20231208_193911_regis_mfe_refs_for_master.md +++ /dev/null @@ -1,3 +0,0 @@ -- [Bugfix] Support MFE remotes that are not on GitHub. (by @gabor-boros and @regisb) -- 💥[Bugfix] Bypass rate-limiting when checking for upstream git changes. To achieve that, we use the `ADD --keep-git-dir` option, which is only compatible with BuildKit 0.11, from January 2023. Also, we get rid of the `get_github_refs_path` function. (by @gabor-boros and @regisb) - diff --git a/setup.py b/setup.py index 9346bb82..1234f35c 100644 --- a/setup.py +++ b/setup.py @@ -40,8 +40,8 @@ def load_about(): packages=find_packages(exclude=["tests*"]), include_package_data=True, python_requires=">=3.8", - install_requires=["tutor>=16.1.2,<17.0.0"], - extras_require={"dev": ["tutor[dev]>=16.1.2,<17.0.0"]}, + install_requires=["tutor>=17.0.0,<18.0.0"], + extras_require={"dev": ["tutor[dev]>=17.0.0,<18.0.0"]}, entry_points={"tutor.plugin.v1": ["mfe = tutormfe.plugin"]}, classifiers=[ "Development Status :: 5 - Production/Stable", diff --git a/tutormfe/__about__.py b/tutormfe/__about__.py index ce2be6bd..a08b09c5 100644 --- a/tutormfe/__about__.py +++ b/tutormfe/__about__.py @@ -1 +1 @@ -__version__ = "16.1.3" +__version__ = "17.0.0" diff --git a/tutormfe/patches/openedx-cms-development-settings b/tutormfe/patches/openedx-cms-development-settings index b4659012..bfbf031e 100644 --- a/tutormfe/patches/openedx-cms-development-settings +++ b/tutormfe/patches/openedx-cms-development-settings @@ -2,4 +2,4 @@ COURSE_AUTHORING_MICROFRONTEND_URL = "http://{{ MFE_HOST }}:{{ get_mfe('course-authoring')["port"] }}/course-authoring" CORS_ORIGIN_WHITELIST.append("http://{{ MFE_HOST }}:{{ get_mfe('course-authoring')["port"] }}") LOGIN_REDIRECT_WHITELIST.append("{{ MFE_HOST }}:{{ get_mfe('course-authoring')["port"] }}") -CSRF_TRUSTED_ORIGINS.append("{{ MFE_HOST }}:{{ get_mfe('course-authoring')["port"] }}") +CSRF_TRUSTED_ORIGINS.append("http://{{ MFE_HOST }}:{{ get_mfe('course-authoring')["port"] }}") diff --git a/tutormfe/patches/openedx-cms-production-settings b/tutormfe/patches/openedx-cms-production-settings index d86061e5..b1b5e163 100644 --- a/tutormfe/patches/openedx-cms-production-settings +++ b/tutormfe/patches/openedx-cms-production-settings @@ -5,4 +5,4 @@ COURSE_AUTHORING_MICROFRONTEND_URL = "{% if ENABLE_HTTPS %}https://{% else %}htt LOGIN_REDIRECT_WHITELIST.append("{{ MFE_HOST }}") CORS_ORIGIN_WHITELIST.append("{% if ENABLE_HTTPS %}https://{% else %}http://{% endif %}{{ MFE_HOST }}") -CSRF_TRUSTED_ORIGINS.append("{{ MFE_HOST }}") +CSRF_TRUSTED_ORIGINS.append("{% if ENABLE_HTTPS %}https://{% else %}http://{% endif %}{{ MFE_HOST }}") diff --git a/tutormfe/patches/openedx-lms-development-settings b/tutormfe/patches/openedx-lms-development-settings index 1b5e5297..bf633746 100644 --- a/tutormfe/patches/openedx-lms-development-settings +++ b/tutormfe/patches/openedx-lms-development-settings @@ -78,7 +78,7 @@ MFE_CONFIG["SCHEDULE_EMAIL_SECTION"] = True # {{ app_name }} MFE CORS_ORIGIN_WHITELIST.append("http://{{ MFE_HOST }}:{{ app["port"] }}") LOGIN_REDIRECT_WHITELIST.append("{{ MFE_HOST }}:{{ app["port"] }}") -CSRF_TRUSTED_ORIGINS.append("{{ MFE_HOST }}:{{ app["port"] }}") +CSRF_TRUSTED_ORIGINS.append("http://{{ MFE_HOST }}:{{ app["port"] }}") {% endfor %} {{ patch("mfe-lms-common-settings") }} diff --git a/tutormfe/patches/openedx-lms-production-settings b/tutormfe/patches/openedx-lms-production-settings index d26de19a..1df4bcfe 100644 --- a/tutormfe/patches/openedx-lms-production-settings +++ b/tutormfe/patches/openedx-lms-production-settings @@ -76,7 +76,7 @@ MFE_CONFIG["SCHEDULE_EMAIL_SECTION"] = True LOGIN_REDIRECT_WHITELIST.append("{{ MFE_HOST }}") CORS_ORIGIN_WHITELIST.append("{% if ENABLE_HTTPS %}https://{% else %}http://{% endif %}{{ MFE_HOST }}") -CSRF_TRUSTED_ORIGINS.append("{{ MFE_HOST }}") +CSRF_TRUSTED_ORIGINS.append("{% if ENABLE_HTTPS %}https://{% else %}http://{% endif %}{{ MFE_HOST }}") {{ patch("mfe-lms-common-settings") }} {{ patch("mfe-lms-production-settings") }} diff --git a/tutormfe/plugin.py b/tutormfe/plugin.py index f0d7a5bf..421761af 100644 --- a/tutormfe/plugin.py +++ b/tutormfe/plugin.py @@ -90,7 +90,7 @@ def get_mfes() -> dict[str, MFE_ATTRS_TYPE]: @tutor_hooks.Actions.PLUGIN_LOADED.add() -def _clear_get_mfes_cache(_name: str): +def _clear_get_mfes_cache(_name: str) -> None: """ Don't forget to clear cache, or we'll have some strange surprises... """ diff --git a/tutormfe/templates/mfe/build/mfe/Dockerfile b/tutormfe/templates/mfe/build/mfe/Dockerfile index 21617c6e..d637d97a 100644 --- a/tutormfe/templates/mfe/build/mfe/Dockerfile +++ b/tutormfe/templates/mfe/build/mfe/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 # https://hub.docker.com/_/node/tags -FROM docker.io/node:18.16.0-bullseye-slim AS base +FROM docker.io/node:18.19.0-bullseye-slim AS base RUN apt update \ && apt install -y git \ @@ -61,7 +61,7 @@ ARG NPM_REGISTRY={{ NPM_REGISTRY }} ENV CPPFLAGS=-DPNG_ARM_NEON_OPT=0 {#- We define this environment variable to bypass an issue with the installation of pact https://github.com/pact-foundation/pact-js-core/issues/264 #} ENV PACT_SKIP_BINARY_INSTALL=true -RUN {% if is_buildkit_enabled() %}--mount=type=cache,target=/root/.npm,sharing=shared {% endif %}npm clean-install --no-audit --no-fund --registry=$NPM_REGISTRY +RUN --mount=type=cache,target=/root/.npm,sharing=shared npm clean-install --no-audit --no-fund --registry=$NPM_REGISTRY {{ patch("mfe-dockerfile-post-npm-install") }} {{ patch("mfe-dockerfile-post-npm-install-{}".format(app_name)) }} COPY --from={{ app_name }}-src / /openedx/app