...
 
Commits (3)
......@@ -64,7 +64,8 @@ class Install extends Cli\Controller implements Interfaces\CliControllerInterfac
if ($installType == "all" || $installType == "cassandra") {
$this->out('- Provisioning Cassandra:', $this::OUTPUT_INLINE);
$isCleanCassandra = $this->getopt("cleanCassandra") != null;
$provisioner->provisionCassandra(null, $isCleanCassandra);
$exitOnFailure = (bool) $this->getopt("exitOnFailure");
$provisioner->provisionCassandra(null, $isCleanCassandra, $exitOnFailure);
$this->out('OK');
$this->out('- Emptying Cassandra pool:', $this::OUTPUT_INLINE);
......
......@@ -237,10 +237,11 @@ class Installer
public function provisionCassandra(
Provisioners\ProvisionerInterface $cassandraStorage = null,
$cleanData = false
$cleanData = false,
$exitOnFailure = false
) {
$cassandraStorage = $cassandraStorage ?: new Provisioners\CassandraProvisioner();
$cassandraStorage->provision($cleanData);
$cassandraStorage->provision($cleanData, $exitOnFailure);
}
public function reloadStorage()
......
......@@ -18,7 +18,7 @@ class CassandraProvisioner implements ProvisionerInterface
$this->client = $client ?: null; // Should be created on-the-fly at provision()
}
public function provision(bool $cleanData)
public function provision(bool $cleanData, bool $exitOnFailure = false)
{
// TODO: Add cleanData to provisioner.
$config = $this->config->get('cassandra');
......@@ -39,7 +39,9 @@ class CassandraProvisioner implements ProvisionerInterface
}
} catch (\Exception $e) {
error_log("Error provisioning cassandra: " . $e->getMessage());
exit(1);
if ($exitOnFailure) {
exit(1);
}
}
return true;
......
......@@ -5,5 +5,5 @@ use Minds\Core\Provisioner\Tasks\TaskInterface;
interface ProvisionerInterface
{
public function provision(bool $cleanData);
public function provision(bool $cleanData, bool $exitOnFailure);
}
......@@ -21,4 +21,5 @@ php /var/www/Minds/engine/cli.php install \
--email-public-key=/.dev/minds.pub \
--phone-number-private-key=/.dev/minds.pem \
--phone-number-public-key=/.dev/minds.pub \
--cassandra-server=cassandra
--cassandra-server=cassandra \
--exitOnFailure=1
FROM minds/php:7.3
WORKDIR /var/www/Minds/engine
COPY ./containers/phpspec/phpspec.sh /var/www/Minds/phpspec.sh
ENTRYPOINT [ "../phpspec.sh" ]
CMD ["run", "--format=pretty", "--no-code-generation"]
#!/bin/sh
set -e
cd /var/www/Minds/engine
php -n -c Spec/php-test.ini bin/phpspec $@
......@@ -13,7 +13,7 @@ rm -rf ../vendor
# Setup composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'c5b9b6d368201a9db6f74e2611495f369991b72d9c8cbd3ffbc63edff210eb73d46ffbfce88669ad33695ef77dc76976') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
......