diff --git a/automation/run-e2e/docker/docker-compose.yml b/automation/run-e2e/docker/docker-compose.yml index 32336ca6d6..c9978ba489 100644 --- a/automation/run-e2e/docker/docker-compose.yml +++ b/automation/run-e2e/docker/docker-compose.yml @@ -22,7 +22,7 @@ services: command: > bash -c " mx update-widgets --loose-version-check /source/${MPR_PATH:?MPR_PATH is required} && - mxbuild ${MODERN_CLIENT:+${MODERN_CLIENT}} --output=/tmp/automation.mda /source/${MPR_PATH} + mxbuild ${MODERN_CLIENT:+${MODERN_CLIENT}} ${ENABLE_RSPACK_BUNDLER:+${ENABLE_RSPACK_BUNDLER}} --output=/tmp/automation.mda /source/${MPR_PATH} " # mxruntime: serve the compiled app on RUNTIME_PORT. diff --git a/automation/run-e2e/docker/mxbuild.Dockerfile b/automation/run-e2e/docker/mxbuild.Dockerfile index c6a3934271..739fdc3985 100644 --- a/automation/run-e2e/docker/mxbuild.Dockerfile +++ b/automation/run-e2e/docker/mxbuild.Dockerfile @@ -3,6 +3,8 @@ FROM --platform=$BUILDPLATFORM eclipse-temurin:21-jdk-jammy ARG MENDIX_VERSION ARG BUILDPLATFORM +ENV LD_PRELOAD=libfontconfig.so.1 + SHELL ["/bin/bash", "-c"] RUN \ echo "Downloading mxbuild ${MENDIX_VERSION} and docker building for ${BUILDPLATFORM}..." \ @@ -26,7 +28,7 @@ echo "Downloading mxbuild ${MENDIX_VERSION} and docker building for ${BUILDPLATF \ rm -rf /var/lib/apt/lists/* && \ apt-get update --allow-insecure-repositories -qqy && \ - apt-get install -qqy --allow-unauthenticated libicu70 && \ + apt-get install -qqy --allow-unauthenticated libicu70 libgdiplus libfontconfig1 && \ apt-get -qqy remove --auto-remove wget && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* && \ diff --git a/automation/run-e2e/docker/mxbuildRC.Dockerfile b/automation/run-e2e/docker/mxbuildRC.Dockerfile index 70ee17b970..37d631356f 100644 --- a/automation/run-e2e/docker/mxbuildRC.Dockerfile +++ b/automation/run-e2e/docker/mxbuildRC.Dockerfile @@ -2,6 +2,8 @@ FROM eclipse-temurin:21-jdk-jammy ARG MENDIX_VERSION +ENV LD_PRELOAD=libfontconfig.so.1 + COPY --link mxbuild.tar.gz /tmp/mxbuild.tar.gz SHELL ["/bin/bash", "-c"] @@ -11,7 +13,7 @@ RUN \ tar xfz /tmp/mxbuild.tar.gz --directory /tmp/mxbuild && \ \ apt-get update -qqy && \ - apt-get install -qqy libicu70 && \ + apt-get install -qqy libicu70 libgdiplus libfontconfig1 && \ apt-get -qqy remove --auto-remove wget && \ apt-get clean && \ \ diff --git a/automation/run-e2e/lib/ci.mjs b/automation/run-e2e/lib/ci.mjs index 4d7bd0b716..5088157ca3 100644 --- a/automation/run-e2e/lib/ci.mjs +++ b/automation/run-e2e/lib/ci.mjs @@ -91,7 +91,8 @@ async function runWithCompose({ mendixVersion, ip, freePort }) { WORKSPACE: workspace, MPR_PATH: mprRelPath, RUNTIME_PORT: String(freePort), - ...(process.env.MODERN_CLIENT ? { MODERN_CLIENT: `--modern-client` } : {}) + ...(process.env.MODERN_CLIENT ? { MODERN_CLIENT: `--modern-web-client` } : {}), + ...(process.env.ENABLE_RSPACK_BUNDLER ? { ENABLE_RSPACK_BUNDLER: `--enable-rspack-bundler` } : {}) }; try { diff --git a/automation/run-e2e/lib/docker-utils.mjs b/automation/run-e2e/lib/docker-utils.mjs index 5458546485..c3aa6147b8 100644 --- a/automation/run-e2e/lib/docker-utils.mjs +++ b/automation/run-e2e/lib/docker-utils.mjs @@ -51,6 +51,7 @@ export function createDeploymentBundle(mxbuildImage, projectFile) { const mprPath = `/source/${projectFile}`; const modernClient = process.env.MODERN_CLIENT || ""; + const enableRspackBundler = process.env.ENABLE_RSPACK_BUNDLER ? "--enable-rspack-bundler" : ""; const subCommands = [ // 1. Update widgets in project. @@ -59,7 +60,7 @@ export function createDeploymentBundle(mxbuildImage, projectFile) { // a. Check errors. // b. Prepare `deployment` dir for mxruntime. // Output file is not used, so put it to tmp. - `mxbuild ${modernClient} --output=/tmp/automation.mda ${mprPath}` + `mxbuild ${modernClient} ${enableRspackBundler} --output=/tmp/automation.mda ${mprPath}` ]; const args = [ `--tty`, diff --git a/automation/scripts/update-screenshots-local.mjs b/automation/scripts/update-screenshots-local.mjs index 22245ae5ac..1e2baab112 100644 --- a/automation/scripts/update-screenshots-local.mjs +++ b/automation/scripts/update-screenshots-local.mjs @@ -590,6 +590,8 @@ async function buildWidget(widgetName, widgetPkg) { async function buildDeploymentBundle(mendixVersion) { const mxbuildImage = `mxbuild:${mendixVersion}`; const spinner = new Spinner(`Building deployment bundle ${DIM(`(${mxbuildImage})`)}`).start(); + const modernClientFlag = process.env.MODERN_CLIENT ? "--modern-web-client" : ""; + const enableRspackBundlerFlag = process.env.ENABLE_RSPACK_BUNDLER ? "--enable-rspack-bundler" : ""; try { const mprFiles = fs.readdirSync(PATHS.testProject); @@ -601,7 +603,7 @@ async function buildDeploymentBundle(mendixVersion) { "docker run --tty --rm", `--volume ${REPO_ROOT}:/source`, mxbuildImage, - `bash -c "mx update-widgets --loose-version-check ${mprPath} && mxbuild --output=/source/automation.mda ${mprPath}"` + `bash -c "mx update-widgets --loose-version-check ${mprPath} && mxbuild ${modernClientFlag} ${enableRspackBundlerFlag} --output=/source/automation.mda ${mprPath}"` ].join(" "); log(`Running: ${cmd}`); diff --git a/packages/pluggableWidgets/badge-web/package.json b/packages/pluggableWidgets/badge-web/package.json index 8b4dea16d9..0aab3df396 100644 --- a/packages/pluggableWidgets/badge-web/package.json +++ b/packages/pluggableWidgets/badge-web/package.json @@ -23,14 +23,14 @@ }, "testProject": { "githubUrl": "https://github.com/mendix/testProjects", - "branchName": "badge-web" + "branchName": "badge-web-mx11" }, "scripts": { "build": "cross-env MPKOUTPUT=Badge.mpk pluggable-widgets-tools build:web", "create-gh-release": "rui-create-gh-release", "create-translation": "rui-create-translation", "dev": "cross-env MPKOUTPUT=Badge.mpk pluggable-widgets-tools start:web", - "e2e": "run-e2e ci", + "e2e": "MENDIX_VERSION=11.12.2 MODERN_CLIENT=--modern-web-client ENABLE_RSPACK_BUNDLER=1 run-e2e ci", "e2edev": "run-e2e dev --with-preps", "format": "prettier --ignore-path ./node_modules/@mendix/prettier-config-web-widgets/global-prettierignore --write .", "lint": "eslint src/ package.json", diff --git a/packages/pluggableWidgets/combobox-web/package.json b/packages/pluggableWidgets/combobox-web/package.json index 477ce1a461..9038b0cd66 100644 --- a/packages/pluggableWidgets/combobox-web/package.json +++ b/packages/pluggableWidgets/combobox-web/package.json @@ -35,7 +35,7 @@ "create-gh-release": "rui-create-gh-release", "create-translation": "rui-create-translation", "dev": "pluggable-widgets-tools start:web", - "e2e": "run-e2e ci", + "e2e": "MENDIX_VERSION=11.12.2 MODERN_CLIENT=--modern-web-client ENABLE_RSPACK_BUNDLER=1 run-e2e ci", "e2edev": "run-e2e dev --with-preps", "format": "prettier --ignore-path ./node_modules/@mendix/prettier-config-web-widgets/global-prettierignore --write .", "lint": "eslint src/ package.json", diff --git a/packages/pluggableWidgets/datagrid-date-filter-web/package.json b/packages/pluggableWidgets/datagrid-date-filter-web/package.json index 5cb7d0f3a9..8ddc0d3fe8 100644 --- a/packages/pluggableWidgets/datagrid-date-filter-web/package.json +++ b/packages/pluggableWidgets/datagrid-date-filter-web/package.json @@ -29,7 +29,7 @@ "build": "pluggable-widgets-tools build:ts", "create-translation": "rui-create-translation", "dev": "pluggable-widgets-tools start:ts", - "e2e": "run-e2e ci", + "e2e": "MENDIX_VERSION=11.12.2 MODERN_CLIENT=--modern-web-client ENABLE_RSPACK_BUNDLER=1 run-e2e ci", "e2e-update-project": "pnpm --filter @mendix/data-widgets run build:include-deps", "e2edev": "run-e2e dev --with-preps", "format": "prettier --ignore-path ./node_modules/@mendix/prettier-config-web-widgets/global-prettierignore --write .", diff --git a/packages/pluggableWidgets/datagrid-dropdown-filter-web/package.json b/packages/pluggableWidgets/datagrid-dropdown-filter-web/package.json index 8b199303a3..4b20687f0e 100644 --- a/packages/pluggableWidgets/datagrid-dropdown-filter-web/package.json +++ b/packages/pluggableWidgets/datagrid-dropdown-filter-web/package.json @@ -29,7 +29,7 @@ "build": "pluggable-widgets-tools build:ts", "create-translation": "rui-create-translation", "dev": "pluggable-widgets-tools start:ts", - "e2e": "run-e2e ci", + "e2e": "MENDIX_VERSION=11.12.2 MODERN_CLIENT=--modern-web-client ENABLE_RSPACK_BUNDLER=1 run-e2e ci", "e2e-update-project": "pnpm --filter @mendix/data-widgets run build:include-deps", "e2edev": "run-e2e dev --with-preps", "format": "prettier --ignore-path ./node_modules/@mendix/prettier-config-web-widgets/global-prettierignore --write .", diff --git a/packages/pluggableWidgets/datagrid-number-filter-web/package.json b/packages/pluggableWidgets/datagrid-number-filter-web/package.json index 7ab2a9aca3..acbd0685e7 100644 --- a/packages/pluggableWidgets/datagrid-number-filter-web/package.json +++ b/packages/pluggableWidgets/datagrid-number-filter-web/package.json @@ -29,7 +29,7 @@ "build": "pluggable-widgets-tools build:ts", "create-translation": "rui-create-translation", "dev": "pluggable-widgets-tools start:ts", - "e2e": "run-e2e ci", + "e2e": "MENDIX_VERSION=11.12.2 MODERN_CLIENT=--modern-web-client ENABLE_RSPACK_BUNDLER=1 run-e2e ci", "e2e-update-project": "pnpm --filter @mendix/data-widgets run build:include-deps", "e2edev": "run-e2e dev --with-preps", "format": "prettier --ignore-path ./node_modules/@mendix/prettier-config-web-widgets/global-prettierignore --write .", diff --git a/packages/pluggableWidgets/datagrid-text-filter-web/package.json b/packages/pluggableWidgets/datagrid-text-filter-web/package.json index 8355cd5228..bd014d4edf 100644 --- a/packages/pluggableWidgets/datagrid-text-filter-web/package.json +++ b/packages/pluggableWidgets/datagrid-text-filter-web/package.json @@ -29,7 +29,7 @@ "build": "pluggable-widgets-tools build:ts", "create-translation": "rui-create-translation", "dev": "pluggable-widgets-tools start:ts", - "e2e": "run-e2e ci", + "e2e": "MENDIX_VERSION=11.12.2 MODERN_CLIENT=--modern-web-client ENABLE_RSPACK_BUNDLER=1 run-e2e ci", "e2e-update-project": "pnpm --filter @mendix/data-widgets run build:include-deps", "e2edev": "run-e2e dev --with-preps", "format": "prettier --ignore-path ./node_modules/@mendix/prettier-config-web-widgets/global-prettierignore --write .", diff --git a/packages/pluggableWidgets/datagrid-web/package.json b/packages/pluggableWidgets/datagrid-web/package.json index fe37da968e..d69e6782ba 100644 --- a/packages/pluggableWidgets/datagrid-web/package.json +++ b/packages/pluggableWidgets/datagrid-web/package.json @@ -29,7 +29,7 @@ "build": "pluggable-widgets-tools build:ts", "create-translation": "rui-create-translation", "dev": "pluggable-widgets-tools start:ts", - "e2e": "run-e2e ci", + "e2e": "MENDIX_VERSION=11.12.2 MODERN_CLIENT=--modern-web-client ENABLE_RSPACK_BUNDLER=1 run-e2e ci", "e2e-update-project": "pnpm --filter @mendix/data-widgets run build:include-deps", "e2edev": "run-e2e dev --with-preps", "format": "prettier --ignore-path ./node_modules/@mendix/prettier-config-web-widgets/global-prettierignore --write .", diff --git a/packages/pluggableWidgets/dropdown-sort-web/package.json b/packages/pluggableWidgets/dropdown-sort-web/package.json index 59952272a6..b0de50793c 100644 --- a/packages/pluggableWidgets/dropdown-sort-web/package.json +++ b/packages/pluggableWidgets/dropdown-sort-web/package.json @@ -29,7 +29,7 @@ "build": "pluggable-widgets-tools build:ts", "create-translation": "rui-create-translation", "dev": "pluggable-widgets-tools start:ts", - "e2e": "run-e2e ci", + "e2e": "MENDIX_VERSION=11.12.2 MODERN_CLIENT=--modern-web-client ENABLE_RSPACK_BUNDLER=1 run-e2e ci", "e2e-update-project": "pnpm --filter @mendix/data-widgets run build:include-deps", "e2edev": "run-e2e dev --with-preps", "format": "prettier --ignore-path ./node_modules/@mendix/prettier-config-web-widgets/global-prettierignore --write .", diff --git a/packages/pluggableWidgets/gallery-web/package.json b/packages/pluggableWidgets/gallery-web/package.json index e7161f87f9..3399b016b7 100644 --- a/packages/pluggableWidgets/gallery-web/package.json +++ b/packages/pluggableWidgets/gallery-web/package.json @@ -23,13 +23,13 @@ }, "testProject": { "githubUrl": "https://github.com/mendix/testProjects", - "branchName": "gallery-web/dw3.0-dropdown-rework" + "branchName": "gallery-web/gallery-web-mx11" }, "scripts": { "build": "pluggable-widgets-tools build:web", "create-translation": "rui-create-translation", "dev": "pluggable-widgets-tools start:web", - "e2e": "run-e2e ci", + "e2e": "MENDIX_VERSION=11.12.2 MODERN_CLIENT=--modern-web-client ENABLE_RSPACK_BUNDLER=1 run-e2e ci", "e2e-update-project": "pnpm --filter @mendix/data-widgets run build:include-deps", "e2edev": "run-e2e dev --with-preps", "format": "prettier --ignore-path ./node_modules/@mendix/prettier-config-web-widgets/global-prettierignore --write .", diff --git a/packages/pluggableWidgets/tree-node-web/package.json b/packages/pluggableWidgets/tree-node-web/package.json index a15be081f2..87cc2d67eb 100644 --- a/packages/pluggableWidgets/tree-node-web/package.json +++ b/packages/pluggableWidgets/tree-node-web/package.json @@ -29,7 +29,7 @@ "build": "pluggable-widgets-tools build:web", "create-translation": "rui-create-translation", "dev": "pluggable-widgets-tools start:web", - "e2e": "MENDIX_VERSION=11.9.1 run-e2e ci", + "e2e": "MENDIX_VERSION=11.12.2 MODERN_CLIENT=--modern-web-client ENABLE_RSPACK_BUNDLER=1 run-e2e ci", "e2e-update-project": "pnpm --filter @mendix/data-widgets run build:include-deps", "e2edev": "MENDIX_VERSION=11.9.1 run-e2e dev --with-preps", "format": "prettier --ignore-path ./node_modules/@mendix/prettier-config-web-widgets/global-prettierignore --write .",