Bug Report: mxcli docker run fails hard on missing PAD files, while docker build handles it gracefully
When running ./mxcli docker run -p App.mpr --wait on a fresh devcontainer with Mendix 11.6.3, the command fails with a hard error:
Error: linking PAD files: runtime PAD files not found at /home/vscode/.mxcli/runtime/11.6.3/runtime/pad
The Mendix 11.6.3 runtime archive (downloaded from cdn.mendix.com) does not contain a runtime/pad directory. Its structure is:
runtime/
agents/
bundles/
launcher/
lib/
mxclientsystem/
What made it worse: re-running ./mxcli setup mxruntime -p App.mpr reports success but doesn't fix the problem — the pad directory is simply not in the archive.
Workaround: Running the steps separately works fine:
./mxcli docker init -p App.mpr
./mxcli docker build -p App.mpr --skip-check ← warns but continues, downloads runtime separately
./mxcli docker up -p App.mpr --detach --wait
During docker build, the missing PAD is only a warning and the runtime is handled with a fallback: "Runtime not found in PAD output, downloading...". The same graceful fallback logic should apply in docker run.
Expected behaviour: ./mxcli docker run should behave the same as docker build — warn about missing PAD files and fall back to copying the cached runtime, rather than aborting with a hard error.
Environment:
mxcli version: nightly-20260326-0c866d5
Mendix version: 11.6.3
Platform: Linux (devcontainer)
Bug Report: mxcli docker run fails hard on missing PAD files, while docker build handles it gracefully
When running ./mxcli docker run -p App.mpr --wait on a fresh devcontainer with Mendix 11.6.3, the command fails with a hard error:
Error: linking PAD files: runtime PAD files not found at /home/vscode/.mxcli/runtime/11.6.3/runtime/pad
The Mendix 11.6.3 runtime archive (downloaded from cdn.mendix.com) does not contain a runtime/pad directory. Its structure is:
runtime/
agents/
bundles/
launcher/
lib/
mxclientsystem/
What made it worse: re-running ./mxcli setup mxruntime -p App.mpr reports success but doesn't fix the problem — the pad directory is simply not in the archive.
Workaround: Running the steps separately works fine:
./mxcli docker init -p App.mpr
./mxcli docker build -p App.mpr --skip-check ← warns but continues, downloads runtime separately
./mxcli docker up -p App.mpr --detach --wait
During docker build, the missing PAD is only a warning and the runtime is handled with a fallback: "Runtime not found in PAD output, downloading...". The same graceful fallback logic should apply in docker run.
Expected behaviour: ./mxcli docker run should behave the same as docker build — warn about missing PAD files and fall back to copying the cached runtime, rather than aborting with a hard error.
Environment: