Skip to content
Enrico Seiler edited this page Feb 8, 2022 · 11 revisions

General

Our CDash gives an overview of our nightly builds.

File Locations

File Location
Configuration /web/cdash.seqan.de/cdash/CDash/app/cdash/config/config.local.php
Logs /web/cdash.seqan.de/log/

Updating configuration

  • Edit /web/cdash.seqan.de/cdash/CDash/app/cdash/config/config.local.php
  • Run php artisan config:migrate in /web/cdash.seqan.de/cdash/CDash

Building

mkdir build
cd build/

apt-get install --yes nano git libxss1 nodejs npm unzip wget zip {libbz2,libfreetype6,libjpeg62-turbo,libmcrypt,libpng,libpq,libxslt,libldap2}-dev php php-{bcmath,bz2,gd,ldap,pdo,xsl,curl,mbstring}

wget -q -O checksum https://composer.github.io/installer.sha384sum      &&\
wget -q -O composer-setup.php https://getcomposer.org/installer         &&\
sha384sum -c checksum                                                   &&\
rm checksum                                                             &&\
php composer-setup.php --install-dir=/usr/local/bin --filename=composer &&\
php -r "unlink('composer-setup.php');"                                  &&\
composer self-update --no-interaction

git clone https://github.com/Kitware/CDash

cd CDash/

composer install --no-interaction --no-progress --prefer-dist --no-dev --optimize-autoloader

npm install

cp .env.example .env

php artisan key:generate

nano app/cdash/config/config.local.php
<?php
$CDASH_BASE_URL= 'https://cdash.seqan.de';
$CDASH_DB_HOST = '*****';
$CDASH_DB_LOGIN = '*****';
$CDASH_DB_PASS = '*****';
$CDASH_DB_NAME = '*****';
$CDASH_PRODUCTION_MODE = true; // false for first setup
$CDASH_ASYNCHRONOUS_SUBMISSION = true;
$CDASH_ASYNC_EXPIRATION_TIME = 0;
$CDASH_ASYNC_WORKERS = 1;
$CDASH_COOKIE_EXPIRATION_TIME='2678400';
$CDASH_MINIMUM_PASSWORD_LENGTH = 16;
$CDASH_MINIMUM_PASSWORD_COMPLEXITY = 4;
$CDASH_LOCKOUT_ATTEMPTS = 3;
$CDASH_LOCKOUT_LENGTH = 5;
$CDASH_TOKEN_DURATION = 0;
$CDASH_NOTIFY_PULL_REQUEST = false;
$CDASH_EMAILADMIN = '*****';
$CDASH_EMAIL_FROM = '*****';
$CDASH_EMAIL_REPLY = '*****';
date_default_timezone_set('Europe/Berlin');
?>
php artisan config:migrate

npm run dev

# Disable register page. Replace with login.
cp resources/views/auth/login.blade.php resources/views/auth/register.blade.php

nano app/cdash/public/api/v1/index.php # see diff
--- a/app/cdash/public/api/v1/index.php
+++ b/app/cdash/public/api/v1/index.php
@@ -40,6 +40,10 @@ $config = Config::getInstance();

 @$projectname = $_GET['project'];
 $projectname = htmlspecialchars(pdo_real_escape_string($projectname));
+if (empty($projectname))
+{
+    $projectname = 'SeqAn3';
+}
 $projectid = get_project_id($projectname);
 $Project = new Project();
 $Project->Id = $projectid;
nano bootstrap/app.php # Add header 
<?php

header('Access-Control-Allow-Origin: https://cdash.openms.de');
header('Access-Control-Allow-Headers: *');
nano /srv/data/cdash/.htaccess # Add redirect rule
    # Redirect to HTTPS
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Clone this wiki locally