From d7484b7b5963016b6fb96702d4c24e1aa2266d31 Mon Sep 17 00:00:00 2001
From: Jon Pugh
Date: Mon, 21 Sep 2020 10:46:00 -0400
Subject: [PATCH] CH36 / Little Bugs (#596)
* Use --ci option instead of --volumes for indicating that we don't want to use docker volumes.
* Fix for commit 23c51d3a9aa2b20b40c3a9326aa87212f8d1298f. In the create wizard, site nodes don't exist for a time, so the query must include environments with site == null.
* Test using devshop-composer-template instead
* Fix broken class arrays.
* Improve admin section for Server Access.
* Improve project templates admin section.
* Give create.js the data it expects, for now.
* On "project/add/settings" page, don't show the checkbox.
* Make checks for no_verify consistent with "empty()".
* Accidentally lost $output[] setting.
* Squashed cherry-pick of
dab79688fafd5558116e334387b3280f8456a8e5...ffa7621a45e16672101089ea5925eebf37f69770
* Include unverified sites in project query.
Rewrite OR query to one condition per line
* change to empty to avoid notices.
* Add gcp as an alias for git cherry-pick.
* Clean up behat error reporting, including printing last drush output.
* Avoid PHP notices. It slows things down quite a bit when DBLog is active.
* Add a "Run in Terminal" button that outputs the command to trigger the task!
* Cleanup run in terminal button with kbd alert.
* Check more options to avoid printing in the wrong place.
* Create separate "View Logs" and "Retry" buttons. Make the Retry button go right to the confirm form.
* Let the hosting-queue-runner clear drush caches by itself, try to avoid strange missing module message:
> Command hosting-task needs the following extension(s) enabled to run: [error]
> The drush command 'hosting-task 197' could not be executed. [error]
* Use devshop-log, not log.
* Removing devshop_support_network_client from devmaster install profile and adding an update hook to disable it.
* Add --reinstall option to robo test.
* Bad update number.
* Use all git projects in devmaster dev and remove distro_update
* Bump to Drupal 7.73
* Build full drupal and makefile for now to reduce confusion until the rest of the integration work is done.
* Keep break step commented.
* Rename tested project to compose.
* Stopgap: pass future git platform properties to context so that latest provision 3.x works with devshop in soon-to-be-legacy
* Delete duplicate test file.
* Remove test for support widget.
* Ensure github PR queues respect the project settings by removing complex pull_request_create_policy feature that is impossible to calculate. Improve the form.
* Improve the github PR settings form and messaging.
* Fix create project form so that:
- GitHub PR environments are included in the main form, so that they get created on the spot just like ad-hoc environments.
- GitHub PR environments only show up when enabled.
- Show number of PRs and link to PRs even if disabled.
-
* Fix create project form so that:
- GitHub PR environments are included in the main form, so that they get created on submit of the form just like ad-hoc environments.
- GitHub PR environments only show up when enabled.
- Show number of PRs and link to PRs even if disabled.
* Remove dsm and unneeded UI.
* Fix error reporting about environment names already in use: highlight the right element and include the duplicate name in the error message.
* Fix incorrect link back to project settings from errored environments page.
* Update hosting_create_environment() to be used by the create site wizard by allowing it to skip site nodes, and replace ad-hoc code that did the same thing.
* Remove the extra environments list from the project create page.
* Save boolean for pr_environment in env settings so we know which envs to load PR data into later.
* Handle forked repos in new project wizard with alternate URLs and branches.
* Fix project name validation.
* Remove loading.gif reference that isn't there.
* Catch bad data exceptions when trying to load PR data.
* If environment/platform was already created, re-insert environment DB record on Step 3 submit. this function was lost when converting to hosting_create_environment().
* Remove mentions of master branch from behat tests.
---
.config.fish | 1 +
.github/workflows/build.yml | 2 +-
RoboFile.php | 24 +-
bin/hosting-queue-runner | 5 +-
bin/wait-site | 2 +-
build-devmaster-dev.make.yml | 13 +-
build-devmaster.make | 2 +-
devmaster/devmaster.info | 1 -
devmaster/drupal-org-core.make | 2 +-
devmaster/drupal-org.make | 1 -
.../devshop_bitbucket/includes/admin.inc | 2 +-
.../devshop_github/devshop_github.module | 229 +++++++-----------
.../devshop/devshop_github/includes/admin.inc | 4 +-
.../devshop/devshop_github/includes/queue.inc | 2 +-
.../modules/devshop/devshop_hosting.install | 7 +
.../devshop_projects/drush/contexts.inc | 6 +
.../devshop/devshop_projects/inc/admin.inc | 28 ++-
.../devshop_projects/inc/create/step-1.inc | 21 +-
.../devshop_projects/inc/create/step-2.inc | 9 +
.../devshop_projects/inc/create/step-3.inc | 97 +++-----
.../devshop_projects/inc/create/step-4.inc | 2 +-
.../devshop/devshop_projects/inc/forms.inc | 5 +
.../devshop/devshop_projects/inc/nodes.inc | 4 +-
.../devshop_projects/inc/tasks-ajax.inc | 2 +
.../devshop/devshop_projects/inc/ui.inc | 26 +-
.../devshop/devshop_projects/projects.inc | 12 +-
.../devshop/devshop_projects/tasks/create.inc | 54 +++--
.../devshop_remotes/devshop_remotes.module | 2 +-
.../features/bootstrap/FeatureContext.php | 3 +
.../tests/features/project.create.feature | 36 ++-
.../tests/features/project.docroot.feature | 86 -------
devmaster/tests/features/support.feature | 2 +-
devmaster/themes/boots/boots.css | 6 +-
devmaster/themes/boots/environment.tpl.php | 8 +-
devmaster/themes/boots/node--task.tpl.php | 41 +++-
devmaster/themes/boots/template.php | 33 ++-
36 files changed, 386 insertions(+), 394 deletions(-)
delete mode 100644 devmaster/tests/features/project.docroot.feature
diff --git a/.config.fish b/.config.fish
index 109d2ffbbd..2b2f5baf1c 100644
--- a/.config.fish
+++ b/.config.fish
@@ -12,6 +12,7 @@ abbr -a -- gd git diff
abbr -a -- gs git status
abbr -a -- gt git tag
abbr -a -- gco git checkout
+abbr -a -- gcp git cherry-pick
abbr -a -- gp git push
abbr -a -- gpl git pull
abbr -a -- r bin/robo
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 919d858896..dfc372794d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -101,7 +101,7 @@ jobs:
--vars "${ANSIBLE_VARS}" \
--tags "${ANSIBLE_TAGS}" \
--skip-tags "${ANSIBLE_SKIP_TAGS}" \
- --volumes 0 \
+ --ci \
&& bin/github deployment:update --state=in_progress --description="Preparing Containers with robo up... Done." --log_url=${GITHUB_RUN_LOG_URL}#step:8:1 \
|| ( bin/github deployment:update --state=failure --description="Preparing Containers with robo up... Failed." --log_url=${GITHUB_RUN_LOG_URL}#step:8:1 && exit 1 )
diff --git a/RoboFile.php b/RoboFile.php
index a44ce17683..379c68d2fe 100644
--- a/RoboFile.php
+++ b/RoboFile.php
@@ -79,6 +79,7 @@ class RoboFile extends \Robo\Tasks {
'from' => 'FROM_IMAGE',
'os' => 'OS_VERSION',
'dockerfile' => 'DOCKERFILE',
+ 'compose-file' => 'COMPOSE_FILE',
];
/**
@@ -219,7 +220,6 @@ public function prepareSourcecode($opts = [
'no-dev' => FALSE,
'devshop-version' => '1.x',
'test-upgrade' => FALSE,
- 'make' => 'profile',
]) {
if (empty($this->git_ref)) {
@@ -268,7 +268,7 @@ public function prepareSourcecode($opts = [
}
// If we want to just populate modules into /devmaster folder...
- if ($opts['make'] == 'profile') {
+ // MAKE inside the devmaster profile
// Populate devmaster install profile with contrib code.
$makefile_path = 'build-devmaster-dev.make.yml';
$make_destination = 'devmaster/';
@@ -282,10 +282,8 @@ public function prepareSourcecode($opts = [
throw new \RuntimeException("Drush make failed with the exit code " . $result->getExitCode());
}
}
- }
- // Or if a whole Drupal build is needed.
- elseif ($opts['make'] == 'drupal') {
+ // Also MAKE the entire drupal stack.
// Run drush make to build the devmaster stack.
$makefile_path = $opts['no-dev']? 'build-devmaster.make': "build-devmaster-dev.make.yml";
$make_destination = $this->devshop_root_path . "/aegir-home/devmaster-" . $opts['devshop-version'];
@@ -305,7 +303,6 @@ public function prepareSourcecode($opts = [
throw new \RuntimeException("Drush make failed with the exit code " . $result->getExitCode());
}
}
- }
// Set git remote urls
if ($opts['no-dev'] == FALSE) {
@@ -474,7 +471,7 @@ public function prepareContainers($user_uid = NULL, $hostname = 'devshop.local.c
* @option $build Run `robo prepare:containers` to rebuild the container first.
* @option os-version An OS "slug" for any of the geerlingguy/docker-*-ansible images: https://hub.docker.com/u/geerlingguy/
* @option environment pass an environment variable to docker-compose in the form --environment NAME=VALUE
- * @option volumes Set to TRUE to use the docker-compose.volumes.yml file to map local folders into the container.
+ * @option ci Set to TRUE when run in CI, such as in build.yml. If not set, docker-compose.volumes.yml will be included to produce a development environment.
* @option install-at-runtime Launch bare containers and then install devshop.
*/
public function up($docker_command = 'devshop-ansible-playbook', $opts = [
@@ -503,7 +500,7 @@ public function up($docker_command = 'devshop-ansible-playbook', $opts = [
'config' => '/usr/share/devshop/ansible.cfg',
'local' => FALSE,
'environment' => [],
- 'volumes' => true,
+ 'ci' => FALSE,
'install-at-runtime' => FALSE,
'build-command' => NULL,
]) {
@@ -573,13 +570,13 @@ public function up($docker_command = 'devshop-ansible-playbook', $opts = [
if ($opts['mode'] == 'docker-compose') {
// Volumes
- if ($opts['volumes']) {
+ if (!$opts['ci']) {
$this->yell('Volume mounts requested. Adding docker-compose.volumes.yml');
$this->say(' - ' . __DIR__ . '/aegir-home to /var/aegir');
$this->say(' - ' . __DIR__ . '/devmaster to /var/aegir/devmaster-1.x/profiles/devmaster');
// Set COMPOSE_FILE to include volumes.
- putenv('COMPOSE_FILE=docker-compose.yml:docker-compose.volumes.yml');
+ $opts['compose-file'] = 'docker-compose.yml:docker-compose.volumes.yml';
if (!file_exists('aegir-home/devmaster-' . $this::DEVSHOP_LOCAL_VERSION) && !$opts['skip-source-prep']) {
$this->io()->warning('The aegir-home folder not present. Running prepare source code command.');
@@ -945,7 +942,8 @@ public function shell($user = 'aegir') {
* Run all devshop tests on the containers.
*/
public function test($user = 'aegir', $opts = array(
- 'compose-file' => 'docker-compose.yml',
+ 'compose-file' => 'docker-compose.yml:docker-compose.volumes.yml',
+ 'reinstall' => FALSE
)) {
$is_tty = !empty($_SERVER['XDG_SESSION_TYPE']) && $_SERVER['XDG_SESSION_TYPE'] == 'tty';
$no_tty = !$is_tty? '-T': '';
@@ -958,6 +956,10 @@ public function test($user = 'aegir', $opts = array(
$commands[] = "docker-compose exec $no_tty devshop chmod 777 /var/aegir/test-artifacts -R";
}
+ if ($opts['reinstall']) {
+ $commands[] = "docker-compose exec $no_tty --user $user devshop drush @hostmaster provision-install --force-reinstall";
+ }
+
$commands[] = "docker-compose exec $no_tty --user $user devshop /usr/share/devshop/tests/devshop-tests.sh";
$provision_io = new \DevShop\Component\PowerProcess\PowerProcessStyle($this->input, $this->output);
foreach ($commands as $command) {
diff --git a/bin/hosting-queue-runner b/bin/hosting-queue-runner
index c5f1e4818e..d28ee91a37 100755
--- a/bin/hosting-queue-runner
+++ b/bin/hosting-queue-runner
@@ -10,5 +10,8 @@ PATH="$DIR:$PATH"
export TIMEOUT=300
wait-site @hostmaster
-log "Running drush @hostmaster hosting-queued ..."
+devshop-log "Clearing drush caches ..."
+drush cc drush
+
+devshop-log "Running drush @hostmaster hosting-queued ..."
drush @hostmaster hosting-queued
diff --git a/bin/wait-site b/bin/wait-site
index eba9adee59..aa987b6c44 100755
--- a/bin/wait-site
+++ b/bin/wait-site
@@ -32,7 +32,7 @@ if [ -z "${ALIAS}" ]; then
exit 1
fi
-OPTIONS=-n log "Checking database... "
+OPTIONS=-n devshop-log "Checking database... "
# Returns true once mysql can connect.
# Thanks to http://askubuntu.com/questions/697798/shell-script-how-to-run-script-after-mysql-is-ready
diff --git a/build-devmaster-dev.make.yml b/build-devmaster-dev.make.yml
index 2cca8ca642..731a7b7a24 100644
--- a/build-devmaster-dev.make.yml
+++ b/build-devmaster-dev.make.yml
@@ -9,7 +9,9 @@ defaults:
projects:
drupal:
type: core
- version: 7.72
+ download:
+ type: git
+ tag: 7.73
# DEVELOPERS: If submitting a Pull Request, CHANGE THE URL or BRANCH here, if you need to test devshop and devmaster repos.
devmaster:
@@ -20,7 +22,9 @@ projects:
url: devmaster
devel:
- version: 1
+ download:
+ type: git
+ tag: 7.x-1.7
# The modules listed below override the settings in devmaster/drupal-org.make
# Each module is downloaded and checked out to the version specified here.
@@ -30,6 +34,11 @@ projects:
type: git
tag: 7.x-3.180-devshop
+ eldir:
+ download:
+ type: git
+ tag: 7.x-3.180
+
hosting_git:
download:
type: git
diff --git a/build-devmaster.make b/build-devmaster.make
index e65cd447ef..ad567b598e 100644
--- a/build-devmaster.make
+++ b/build-devmaster.make
@@ -14,7 +14,7 @@ core = 7.x
api = 2
projects[drupal][type] = core
-projects[drupal][version] = 7.72
+projects[drupal][version] = 7.73
; RELEASE
; Leave in place for replacement by release process.
diff --git a/devmaster/devmaster.info b/devmaster/devmaster.info
index 713f7d7c28..f30d0703ff 100644
--- a/devmaster/devmaster.info
+++ b/devmaster/devmaster.info
@@ -75,5 +75,4 @@ dependencies[] = aegir_config
dependencies[] = devshop_permissions
dependencies[] = devshop_stats
dependencies[] = devshop_remotes
-dependencies[] = devshop_support_network_client
diff --git a/devmaster/drupal-org-core.make b/devmaster/drupal-org-core.make
index 5d1739b731..8f85348467 100644
--- a/devmaster/drupal-org-core.make
+++ b/devmaster/drupal-org-core.make
@@ -8,4 +8,4 @@ api = 2
; - https://github.com/opendevshop/devshop/blob/1.x/build-devmaster-dev.yml
; - https://github.com/opendevshop/devshop/blob/1.x/build-devmaster-travis-forks.make.yml
projects[drupal][type] = core
-projects[drupal][version] = 7.72
+projects[drupal][version] = 7.73
diff --git a/devmaster/drupal-org.make b/devmaster/drupal-org.make
index 8db2798aa3..3bdf1fde03 100644
--- a/devmaster/drupal-org.make
+++ b/devmaster/drupal-org.make
@@ -59,7 +59,6 @@ projects[views][version] = "3.24"
projects[views_bulk_operations][version] = "3.6"
projects[ctools][version] = "1.15"
projects[features][version] = "2.11"
-projects[distro_update][version] = "1"
projects[module_filter][version] = "2.2"
projects[libraries][version] = 2.5
projects[token][version] = 1.7
diff --git a/devmaster/modules/devshop/devshop_bitbucket/includes/admin.inc b/devmaster/modules/devshop/devshop_bitbucket/includes/admin.inc
index bf5d52a23c..1b14ecf67a 100644
--- a/devmaster/modules/devshop/devshop_bitbucket/includes/admin.inc
+++ b/devmaster/modules/devshop/devshop_bitbucket/includes/admin.inc
@@ -48,7 +48,7 @@ function devshop_bitbucket_settings_form($form, &$form_state) {
$form['bitbucket_public_keys']['#prefix'] = '
HTML;
@@ -201,9 +210,12 @@ function devshop_projects_inactive_tab_title() {
}
/**
- *
+ * Access check for "inactive projects" tab.
*/
function devshop_projects_inactive_tab_access() {
+ if (arg(0) == 'projects' && arg(1) == 'add') {
+ return FALSE;
+ }
static $count;
if (!isset($count)) {
$count = devshop_projects_count(NODE_NOT_PUBLISHED);
diff --git a/devmaster/modules/devshop/devshop_projects/projects.inc b/devmaster/modules/devshop/devshop_projects/projects.inc
index 116db4495f..f6222fdcf0 100644
--- a/devmaster/modules/devshop/devshop_projects/projects.inc
+++ b/devmaster/modules/devshop/devshop_projects/projects.inc
@@ -172,12 +172,18 @@ function devshop_project_load($node) {
LEFT JOIN {node} db ON s.db_server = db.nid
LEFT JOIN {node} pn ON e.project_nid = pn.nid
LEFT JOIN {hosting_site_alias} a ON a.vid = s.vid
- WHERE project_nid = :nid AND
- e.name != '' AND
- s.status IN (:site_status)
+ WHERE project_nid = :nid
+ AND e.name != ''
+ AND (
+ s.status IN (:site_status)
+ OR s.verified = 0
+ OR s.nid IS NULL
+ )
ORDER BY
name; ", array(
':nid' => $node->nid,
+
+ // Query includes sites that are either enabled, queued, unverified, or have no site NID.
':site_status' => [HOSTING_SITE_QUEUED, HOSTING_SITE_ENABLED]
));
foreach ($environment_data as $environment) {
diff --git a/devmaster/modules/devshop/devshop_projects/tasks/create.inc b/devmaster/modules/devshop/devshop_projects/tasks/create.inc
index 8444e3b6b9..124dcbb778 100644
--- a/devmaster/modules/devshop/devshop_projects/tasks/create.inc
+++ b/devmaster/modules/devshop/devshop_projects/tasks/create.inc
@@ -17,22 +17,10 @@
* @param $source_environment
* If desired, the environment to clone. (Copy the database and create a new branch from)
*/
-function hosting_create_environment($project, $new_environment_name, $new_environment_branch = NULL, $source_environment = NULL, $settings = NULL, $action = 'create', $git_remote_url = NULL) {
+function hosting_create_environment($project, $new_environment_name, $new_environment_branch = NULL, $source_environment = NULL, $settings = NULL, $action = 'create', $git_remote_url = NULL, $create_site = TRUE) {
$settings = (object) $settings;
global $user;
- // Create site node.
- $site = new stdClass();
- $site->type = 'site';
- $site->title = devshop_environment_url($project, $new_environment_name);
- $site->status = 1;
- $site->uid = $user->uid;
- $site->name = $user->name;
- $site->client = HOSTING_DEFAULT_CLIENT;
-
- // Attach a new platform node.
- $site->platform_node = devshop_prepare_platform_node($project, $new_environment_name, $new_environment_branch, $settings->web_server, $git_remote_url);
-
// Set db server to the project default, if none was set.
if (empty($settings->db_server) && !empty($project->settings->default_environment['db_server'])) {
$settings->db_server = $project->settings->default_environment['db_server'];
@@ -50,13 +38,34 @@ function hosting_create_environment($project, $new_environment_name, $new_enviro
$settings->web_server = $project->settings->default_environment['web_server'];
}
- // Now that desired servers have been determined, save to their respective nodes.
- $site->db_server = $settings->db_server;
-
- // Save the site node, along with the platform.
- // This is possible thanks to the patch in https://www.drupal.org/node/2824731
- if ($site = node_submit($site)) {
- node_save($site);
+ // Always prepare platform node. That part is required.
+ $platform = devshop_prepare_platform_node($project, $new_environment_name, $new_environment_branch, $settings->web_server, $git_remote_url);
+
+ // Create site node, unless blocked by setting $create_site = FALSE.
+ if ($create_site) {
+ $site = new stdClass();
+ $site->type = 'site';
+ $site->title = devshop_environment_url($project, $new_environment_name);
+ $site->status = 1;
+ $site->uid = $user->uid;
+ $site->name = $user->name;
+ $site->client = HOSTING_DEFAULT_CLIENT;
+
+ // Attach a new platform node.
+ $site->platform_node = $platform;
+ $site->db_server = $settings->db_server;
+
+ // Save the site node, along with the platform.
+ // This is possible thanks to the patch in https://www.drupal.org/node/2824731
+ if ($site = node_submit($site)) {
+ node_save($site);
+ }
+ }
+ else {
+ // If site doesn't get saved, platform doesn't either, so save it directly.
+ if ($platform = node_submit($platform)) {
+ node_save($platform);
+ }
}
// // If no new branch specified and fork source is present, set branch to forked environment's branch.
@@ -111,7 +120,8 @@ function hosting_create_environment($project, $new_environment_name, $new_enviro
// Next, add the environment record.
$environment = new stdClass();
$environment->name = $new_environment_name;
- $environment->site = $site->nid;
+ $environment->site = $site->nid?: NULL;
+ $environment->platform = $platform->nid;
// Use settings passed in to this function.
$environment->settings = $settings;
@@ -132,7 +142,7 @@ function hosting_create_environment($project, $new_environment_name, $new_enviro
'project_nid' => $environment->project_nid,
'name' => $environment->name,
'site' => $environment->site,
- 'platform' => $site->platform_node->nid,
+ 'platform' => $environment->platform,
'settings' => serialize($environment->settings),
'last_task' => $environment->last_task,
))
diff --git a/devmaster/modules/devshop/devshop_remotes/devshop_remotes.module b/devmaster/modules/devshop/devshop_remotes/devshop_remotes.module
index 86bf162891..c7fd28df5e 100644
--- a/devmaster/modules/devshop/devshop_remotes/devshop_remotes.module
+++ b/devmaster/modules/devshop/devshop_remotes/devshop_remotes.module
@@ -362,7 +362,7 @@ function devshop_remotes_node_load($nodes, $types) {
if (count(array_intersect(array('project'), $types))) {
foreach ($nodes as &$node) {
- if (isset($node->project->settings) && !is_array($node->project->settings->aliases)) {
+ if (isset($node->project->settings) && empty($node->project->settings->aliases)) {
$node->project->settings->aliases = array();
}
diff --git a/devmaster/tests/features/bootstrap/FeatureContext.php b/devmaster/tests/features/bootstrap/FeatureContext.php
index 2126ea3d79..493ca41952 100644
--- a/devmaster/tests/features/bootstrap/FeatureContext.php
+++ b/devmaster/tests/features/bootstrap/FeatureContext.php
@@ -119,6 +119,9 @@ public function logAfterFailedStep($event)
echo "\nWatchdog Errors:\n";
$this->drushContext->assertDrushCommand('wd-show');
$this->drushContext->printLastDrushOutput();
+
+ echo "\n\nLast Drush Output\n";
+ $this->drushContext->printLastDrushOutput();
}
}
diff --git a/devmaster/tests/features/project.create.feature b/devmaster/tests/features/project.create.feature
index fcd9b5a7c8..491dd97329 100644
--- a/devmaster/tests/features/project.create.feature
+++ b/devmaster/tests/features/project.create.feature
@@ -11,21 +11,21 @@ Feature: Create a project and check settings
When I click "Projects"
And I click "Start a new Project"
Then I should see "Step 1"
- Then I fill in "drpl8" for "Project Code Name"
- And I fill in "http://github.com/opendevshop/drupal_docroot.git" for "Git Repository URL"
+ Then I fill in "composer" for "Project Code Name"
+ And I fill in "http://github.com/opendevshop/devshop-composer-template.git" for "Git Repository URL"
When I press "Next"
# Step 2
- Then I should see "drpl8"
- And I should see "http://github.com/opendevshop/drupal_docroot.git"
+ Then I should see "composer"
+ And I should see "http://github.com/opendevshop/devshop-composer-template.git"
Then I should see "Please wait while we connect and analyze your repository."
When I run drush "hosting-tasks --force --fork=0 --strict=0"
# Then print last drush output
And I reload the page
- Then I fill in "docroot" for "Document Root"
+ Then I fill in "web" for "Document Root"
When I press "Next"
- And I should see "DOCUMENT ROOT docroot"
+ And I should see "DOCUMENT ROOT web"
When I run drush "hosting-tasks --force --fork=0 --strict=0"
And I reload the page
@@ -33,18 +33,18 @@ Feature: Create a project and check settings
Then I should see "Create as many new environments as you would like."
When I fill in "dev" for "project[environments][NEW][name]"
- And I select "master" from "project[environments][NEW][git_ref]"
+ And I select "8.x" from "project[environments][NEW][git_ref]"
And I press "Add environment"
And I fill in "live" for "project[environments][NEW][name]"
- And I select "master" from "project[environments][NEW][git_ref]"
+ And I select "8.x" from "project[environments][NEW][git_ref]"
And I press "Add environment"
Then I press "Next"
# Step 4
And I should see "dev"
And I should see "live"
- And I should see "master"
+ And I should see "8.x"
When I run drush "hosting-tasks --force --fork=0 --strict=0"
# Then print last drush output
@@ -52,9 +52,7 @@ Feature: Create a project and check settings
Then I should see "dev"
And I should see "live"
- And I should see "master"
- And I should see "master"
And I reload the page
# When I click "Process Failed"
Then I should see "8."
@@ -75,8 +73,7 @@ Feature: Create a project and check settings
And I should see the link "dev"
And I should see the link "live"
-# Then I break
- And I should see the link "http://drpl8.dev.devshop.local.computer"
+ And I should see the link "http://composer.dev.devshop.local.computer"
And I should see the link "Aegir Site"
When I run drush "hosting-tasks --force --fork=0 --strict=0"
@@ -86,7 +83,7 @@ Feature: Create a project and check settings
And I reload the page
Then I should see the link "dev"
Then I should see the link "live"
-# Given I go to "http://dev.drpl8.devshop.travis"
+# Given I go to "http://dev.composer.devshop.travis"
# When I click "Visit Environment"
# @TODO: Fix our site installation.
@@ -94,7 +91,6 @@ Feature: Create a project and check settings
When I click "Create New Environment"
And I fill in "testenv" for "Environment Name"
- And I select "master" from "Branch or Tag"
And I select the radio button "Drupal Profile"
Then I select the radio button "Standard Install with commonly used features pre-configured."
@@ -105,7 +101,7 @@ Feature: Create a project and check settings
And I fill in "What's the password?" for "Message"
Then I press "Create New Environment"
- Then I should see "Environment testenv created in project drpl8."
+ Then I should see "Environment testenv created in project composer."
When I run drush "hosting-tasks --force --fork=0 --strict=0"
@@ -122,13 +118,13 @@ Feature: Create a project and check settings
Then I select "testenv" from "Primary Environment"
And I press "Save"
- Then I should see "DevShop Project drpl8 has been updated."
+ Then I should see "DevShop Project composer has been updated."
And I should see an ".environment-link .fa-bolt" element
# When I click "Visit Site"
- Given I am on "http://drpl8.testenv.devshop.local.computer"
+ Given I am on "http://composer.testenv.devshop.local.computer"
# TODO: Figure out how to test this in travis!
# Then the response status code should be 401
- Given I am on "http://testuser:testpassword@drpl8.testenv.devshop.local.computer"
- Then I should see "Welcome to drpl8.testenv"
+ Given I am on "http://testuser:testpassword@composer.testenv.devshop.local.computer"
+ Then I should see "Welcome to composer.testenv"
diff --git a/devmaster/tests/features/project.docroot.feature b/devmaster/tests/features/project.docroot.feature
deleted file mode 100644
index 9949c2f64e..0000000000
--- a/devmaster/tests/features/project.docroot.feature
+++ /dev/null
@@ -1,86 +0,0 @@
-@api
-Feature: Create a project with Drupal in the docroot.
-
- In order to start developing a drupal site
- As a project admin
- I need to create a new project
-
- Scenario: Create a new drupal 8 project with drupal in docroot folder
-
- When I run drush "en dblog -y"
- Given I am logged in as a user with the "administrator" role
- And I am on the homepage
- When I click "Projects"
- And I click "Start a new Project"
- Then I should see "Step 1"
- Then I fill in "rootproject" for "Project Code Name"
- And I fill in "http://github.com/opendevshop/drupal_docroot" for "Git Repository URL"
- When I press "Next"
-
- # Step 2
- Then I should see "rootproject"
- And I should not see "The name rootproject is in use. Please try again."
- And I should see "http://github.com/opendevshop/drupal_docroot"
-
- When I run drush "hosting-tasks --force --fork=0 --strict=0"
- # Then print last drush output
- And I reload the page
-
- When I fill in "docroot" for "Document Root"
-
- # Step 3
- When I press "Next"
- # Users no longer see this, we wait for verify before showing step 2.
-# Then I should see "Please wait while we connect to your repository and determine any branches."
- And I should see "Document Root"
- And I should see "rootproject"
-
- When I run drush "hosting-tasks --force --fork=0 --strict=0"
- # Then print last drush output
- And I reload the page
- And I reload the page
-
- Then I should see "Create as many new environments as you would like."
- When I fill in "dev" for "project[environments][NEW][name]"
- And I select "master" from "project[environments][NEW][git_ref]"
-
- Then I press "Next"
- # Step 4
- And I should see "dev"
- And I should see "master"
-
- When I run drush "hosting-tasks --force --fork=0 --strict=0"
- # Then print last drush output
- And I reload the page
-
- Then I should see "dev"
- And I should see "master"
- And I reload the page
-# When I click "Process Failed"
- Then I should see "8."
- Then I should not see "Platform verification failed"
- When I select "standard" from "install_profile"
- And I press "Create Project & Environments"
-
- # FINISH!
- Then print current URL
- When I run drush "wd-show"
- # Then print last drush output
-
- Then I should see "Your project has been created. Your sites are being installed."
- And I should see "Dashboard"
- And I should see "Settings"
- And I should see "Logs"
- And I should see "standard"
-# And I should see "http://github.com/opendevshop/drupal"
- And I should see the link "dev"
-
- When I run drush "hosting-tasks --force --fork=0 --strict=0"
- # Then print last drush output
- Then drush output should not contain "This task is already running, use --force"
-
- And I reload the page
- Then I should see the link "dev"
-
-# When I click "Visit Site"
-# Then I should see "Welcome to"
diff --git a/devmaster/tests/features/support.feature b/devmaster/tests/features/support.feature
index ed261a7a3a..9b24eaa72a 100644
--- a/devmaster/tests/features/support.feature
+++ b/devmaster/tests/features/support.feature
@@ -10,9 +10,9 @@ Feature: Anonymous Homepage
And I should not see the link "Sign in with DevShop.Cloud"
When I am logged in as a user with the "authenticated user" role
- Then I should see "Your DevShop server is currently unsupported."
# @TODO: When finalizing the devshop cloud client module, re-implement these tests.
+# Then I should see "Your DevShop server is currently unsupported."
# When I run drush "vset devshop_support_license_key automated_testing_license_key"
# # Then print last drush output
# When I run drush "vset devshop_support_license_key_status active"
diff --git a/devmaster/themes/boots/boots.css b/devmaster/themes/boots/boots.css
index 1c5d8ddc89..0e30d992dc 100644
--- a/devmaster/themes/boots/boots.css
+++ b/devmaster/themes/boots/boots.css
@@ -1035,7 +1035,6 @@ pre.ansi_box {
p.wait {
text-align: center;
padding: 32px 0px 52px;
- background: bottom center no-repeat url(images/loading.gif);
}
p.error {
@@ -1339,3 +1338,8 @@ form .well .form-type-radios .form-type-radio
.form-control.chosen-container.chosen-container-single .chosen-single {
height: 34px;
}
+
+
+kbd.alert {
+ display: block;
+}
diff --git a/devmaster/themes/boots/environment.tpl.php b/devmaster/themes/boots/environment.tpl.php
index 999c2abb46..d9d81df1ff 100644
--- a/devmaster/themes/boots/environment.tpl.php
+++ b/devmaster/themes/boots/environment.tpl.php
@@ -277,13 +277,15 @@
}
?>