The --link flag is a feature of Docker BuildKit which tells Docker to
treat the COPY'd layer independently of previous layers, enabling more
aggressive build caching. For more details, see this Docker blog post [1].
When using COPY --link to copy files from a stage that does not contain
/etc/passwd, we must --chown with $APP_USER_ID rather than app.
Otherwise, the build would fail with "unknown user id".
[1] https://www.docker.com/blog/image-rebase-and-improved-remote-cache-support-in-new-buildkit/
If one is using a bind-mounted edx-platform directory,
they may already have pulled translations. This will cause
the Docker build to fail with:
CommandError: "/openedx/edx-platform/conf/plugins-locale/plugins" should be empty before running atlas pull.
To fix this, we simply clean out the edx-platform translation
target directories before pulling in the Dockerfile.
BREAKING CHANGE: `openedx-assets` is replaed with `npm run` subcommands.
For details, see the changelog entry.
For further details and rationale, see the upstream DEPR ticket:
https://github.com/openedx/edx-platform/issues/31895
Remove CORS_ALLOW_HEADERS setting from the LMS/Studio config template. This
setting, which holds site-agnostic application logic, is now consistently set
to a reasonable value upstream by LMS and CMS config. Using the upstream values
fixes a bug where course import in Studio using the new Course Authoring MFE
was broken in Tutor deployments because it required additional headers to be
allowed (content-range and content-disposition)
Co-authored-by: Kyle McCormick <kyle@axim.org>
Without this fix, openedx Docker image building fails with the following
error:
> [linux/arm64 nodejs-requirements 4/4] RUN
--mount=type=bind,from=edx-platform,source=/package.json,target=/openedx/edx-platform/package.json
--mount=type=bind,from=edx-platform,source=/package-lock.json,target=/openedx/edx-platform/package-lock.json
--mount=type=bind,from=edx-platform,source=/scripts/copy-node-modules.sh,target=/openedx/edx-platform/scripts/copy-node-modules.sh
--mount=type=cache,target=/root/.npm,sharing=shared npm
clean-install --no-audit --registry=https://registry.npmjs.org/:
95.51 npm notice
95.51 npm notice New major version of npm available! 8.3.1 -> 10.5.1
95.51 npm notice Changelog:
<https://github.com/npm/cli/releases/tag/v10.5.1>
95.51 npm notice Run `npm install -g npm@10.5.1` to update!
95.51 npm notice
95.51 npm ERR! code EINTEGRITY
95.51 npm ERR!
sha512-sWMb40chzlUOKrHZCGpZoUrVnGm6khfL/fAMKO8vLtUR8yOmWIVVN7MRmep3/DSFhy1Hilon6qAH+UbLZgGG0w==
integrity checksum failed when using sha512: wanted
sha512-sWMb40chzlUOKrHZCGpZoUrVnGm6khfL/fAMKO8vLtUR8yOmWIVVN7MRmep3/DSFhy1Hilon6qAH+UbLZgGG0w==
but got
sha512-P9aZDwDEAVgAbdHG/ViapRzAUJ6zBSq/4I1lJFluIbrld6Sv6LI+HT2J4dgWqtfaCgIyDnHBHSHiJ/anter7wQ==.
(11488 bytes)