* Refactor Docker build/runtime stages for slimmer images
Split runtime and build dependencies into separate stages and build the app in a dedicated stage before runtime copy.
Add a slim prune stage that removes non-runtime source trees, source maps, duplicate enterprise source videos, module test/doc folders, and extra vendored gem artifacts.
This ensures bytes are removed before the final slim copy, so layer size actually decreases while keeping runtime behavior intact.
* Add target-specific Docker image validation in CI
Introduce script/ci/docker_validate_image.sh with validations for slim, slim-bim, and all-in-one images.
Checks include runtime binary presence/absence, plugin asset/module integrity, slim pruning expectations, BIM tooling, and all-in-one API startup/embedded services.
Update docker workflow to run the validator for every matrix target before push.
* fix
* Generate YAML-safe auto Hocuspocus secret
All-in-one startup auto-generates OPENPROJECT_COLLABORATIVE__EDITING__HOCUSPOCUS__SECRET in the entrypoint.
Environment overrides are parsed through YAML, so leading punctuation in the previous charset (e.g. %) could trigger Psych parsing errors and abort boot.
Restrict generated secret characters to alphanumeric to keep parsing stable while preserving high entropy.
* Fix all-in-one hocuspocus runtime and validation
* Fix all-in-one memcached startup handover
* Reexport PGVERSION and PGBIN according to existing install
* Display message if PostgreSQL version deprecated
* Do not launch postgres if using external URI
* Add script to auto-upgrade postgres database for all-in-one dockerfile
* Add documentation for packages and all-in-one docker image
* Move development docker-compose file to the main directory
This requires us to move some other files around, like the pullpreview and example docker-compose file for production
setups. This commit also does some housekeeping, like removing some old files and deduping configuration.
* Updated to selenium grid
* Fix in-Docker Selenium tests
The Selenium tests now run inside a Docker Chrome Container. Backwards compatability with non-docker setups is not
guaranteed, though it should not be hard to implement with a couple of small fixes.
* Updated docker development documentation
* Improved test timings, changed the documentation
* Updated docker testing again
* Run npm in the frontend directory
* Really run npm in the frontend directory
* Also run npm in frontend when setting up travis cache
* Change directory for one command only
* Change default test driver name
* CI test change fixes
* Fixed syntax error
* Added dev check
* Trying to fix firefox resizing
* Trying to get tests running
* Stop resizing firefox
* Fixed apple icon spec
* fix host in url helpers for omniauth spec
* Fix omniauth specs
* Fix docs
* Small fixes to docker tests
* Added package.json back in
* Change env variables
Co-authored-by: Markus Kahl <machisuji@gmail.com>