DevShop Control site code is now directly in /usr/share/devshop/src/DevShop/Components/DevShopControlTemplate .
DevShop Control Project, customizable composer based devshop front-end is at /usr/share/devshop/src/DevShop/Components/ControlProject:
Add the local path composer repository directly to composer.json for stability and easier upgrades, allowing us to remove all the custom repository setting everywhere.
Stabilize composer based DevShop Control and DevShop Control Project codebases by matching the command everywhere it is run. Composer update is required for it to work properly because it doesn't have a composer.lock file.
Add code to ScriptHandler.php to detect an incorrect install by validating that devmaster.info and views.info are in place, and announce if it is a symlink (path repo).
Add a step to prepare the composer.lock file in the DevShop control folder.
Grant ownership of the devshopcontrol stack to the aegir user.
Improve DevShop CI testing:
Add testing support for PHP 7.1, 7.2, 7.3 and 7.4 for the components and 7.2 and 7.3 for devshop server.
Ensure code is on a branch so devshop version detection is done properly and shows in the logs.
Remove extra github actions prepare script devshop-container-prep.sh because we don't need a custom composer repo or a branch.
Make the Test and Build workflows run the same commands, using git switch --create to prepare a local branch so devshop thinks it is on a branch version and it's easier to see what version is installed.
Fixed artifact saving of docker logs and test failures to github actions.
Make sure Build step gets important args as well as Test step.
Set all roles to run "always" in devshop.server/play.yml for now, so that everything gets reconfigured at runtime (docker up).
Reduce running of roles more than once by removing them from "dependencies" of our other roles.
Ansible improvements
Improve initial install state by stopping supervisor before DevShop Control install and starting it again after hostmaster is ready. This stops the issue of always having to restart supervisor every time you install a server!
Log messages showing the version and git URL of devshop that is being installed at the beginning and end of the play.
Run the devshop control install as a block so we can print debugging information after the install logs showing version, etc.
Fix a bug on initial install by converting aegir_user_uid_current ansible variable to string before checking if empty.
Add echo of current ansible playbook to devshop-ansible-playbook command so we can see what is about to run.
Provision and Hosting 4.x improvements:
Drastically reduce logs on site install failure: Remove print of debug backtrace, call to "dlp", and exit the function so additional steps that assume site install is fine don't keep going.
Completely clean up pre provision verify to allow that single command to handle creation and updating of Git and composer commands.
Add more platform properties, git_reset
Allow provision-verify to skip git actions such as fetch, checkout, reset with drush options.
Allow provision-verify to set the URL of a git remote if '--set-remote' option is used.
Drastically improve logging by detecting if the provision command is being run in CLI or from the hosting_task queue. Logs are now visible from both user experiences.
Add git repo helper functions to Provision Platform context class as a bridge before we can integrate GitRepositoryAwareTrait.
https://github.com/opendevshop/devshop/pull/645
git switch --create
to prepare a local branch so devshop thinks it is on a branch version and it's easier to see what version is installed.aegir_user_uid_current
ansible variable to string before checking if empty.devshop-ansible-playbook
command so we can see what is about to run.