Browse Source

Get rid of Travis CI

pull/8132/head
Aleksander Machniak 4 years ago
parent
commit
93e934f4ca
  1. 30
      .ci/config-test.inc.php
  2. 36
      .ci/install.sh
  3. 31
      .ci/run.sh
  4. 30
      .ci/setup.sh
  5. 2
      .github/config-test.inc.php
  6. 2
      .htaccess
  7. 39
      .travis.yml
  8. 1
      README.md

30
.ci/config-test.inc.php

@ -1,30 +0,0 @@
<?php
$config = array();
// Database configuration
$config['db_dsnw'] = 'sqlite:////tmp/sqlite.db?mode=0646';
// Test user credentials
$config['tests_username'] = 'test';
$config['tests_password'] = 'test';
// GreenMail
$config['smtp_port'] = 25;
// Settings required by the tests
$config['create_default_folders'] = true;
$config['skin'] = 'elastic';
$config['support_url'] = 'http://support.url';
// Plugins with tests
$config['plugins'] = [
'archive',
'attachment_reminder',
'markasjunk',
'zipdownload'
];
$config['archive_mbox'] = 'Archive';

36
.ci/install.sh

@ -1,36 +0,0 @@
#!/bin/bash
# The script is intended for use on Travis with Trusty distribution
DIR=$(dirname $0)
# Enable xdebug for code coverage
if [ "$CODE_COVERAGE" != 1 ]; then phpenv config-rm xdebug.ini || true; fi
cd $DIR/..
cp composer.json-dist composer.json
# Add laravel/dusk for Browser tests
if [ "$BROWSER_TESTS" = 1 ]; then composer require "laravel/dusk:~6.9.0" --no-update; fi
# Add suggested dependencies required for tests
composer require "kolab/net_ldap3:~1.1.1" --no-update
# phpunit v7 is working fine on PHP8, but composer installs an older version,
# so we'll emulate PHP 7.4 platform to get phpunit v7
if [[ ${TRAVIS_PHP_VERSION:0:1} == "8" ]]; then composer config platform.php 7.4; fi
# Install PHP dependencies
composer install --prefer-dist
# Install Less for Elastic CSS compilation, and UglifyJS for JS files minification
if [ "$BROWSER_TESTS" = 1 ]
then
npm install --force -g less
npm install --force -g less-plugin-clean-css
npm install --force -g uglify-js
fi
# Roundcube tests and instance configuration
cp .ci/config-test.inc.php config/config-test.inc.php

31
.ci/run.sh

@ -1,31 +0,0 @@
#!/bin/bash
# The script is intended for use on Travis with Trusty distribution
# It executes unit and functional tests
DIR=$(dirname $0)
cd $DIR/..
if [ "$CODE_COVERAGE" = 1 ]
then
CODE_COVERAGE_ARGS="--coverage-text"
fi
vendor/bin/phpunit -c tests/phpunit.xml $CODE_COVERAGE_ARGS
if [ $? != 0 ]
then
cat logs/errors.log
exit 1
fi
if [ "$BROWSER_TESTS" = 1 ]
then
.ci/setup.sh \
&& echo "TESTS_MODE: DESKTOP" \
&& TESTS_MODE=desktop vendor/bin/phpunit -c tests/Browser/phpunit.xml --exclude-group=failsontravis \
&& echo "TESTS_MODE: PHONE" \
&& TESTS_MODE=phone vendor/bin/phpunit -c tests/Browser/phpunit.xml --exclude-group=failsontravis-phone \
&& echo "TESTS_MODE: TABLET" \
&& TESTS_MODE=tablet vendor/bin/phpunit -c tests/Browser/phpunit.xml --exclude-group=failsontravis-tablet
fi

30
.ci/setup.sh

@ -1,30 +0,0 @@
#!/bin/bash
# The script is intended for use on Travis with Trusty distribution
# It installs in-browser tests dependencies and prepares Roundcube instance
GMV=1.5.11
CHROMEVERSION=$(google-chrome-stable --version | tr -cd [:digit:]. | cut -d . -f 1)
GMARGS="-Dgreenmail.setup.all -Dgreenmail.users=test:test -Dgreenmail.startup.timeout=3000"
# Make temp and logs writeable
sudo chmod 777 temp logs
# Install javascript dependencies
bin/install-jsdeps.sh
# Compile Elastic's styles
lessc --clean-css="--s1 --advanced" skins/elastic/styles/styles.less > skins/elastic/styles/styles.min.css
lessc --clean-css="--s1 --advanced" skins/elastic/styles/print.less > skins/elastic/styles/print.min.css
lessc --clean-css="--s1 --advanced" skins/elastic/styles/embed.less > skins/elastic/styles/embed.min.css
# Use minified javascript files
bin/jsshrink.sh
# Install proper WebDriver version for installed Chrome browser
php tests/Browser/install.php $CHROMEVERSION
# GreenMail server download, setup and start
wget https://repo1.maven.org/maven2/com/icegreen/greenmail-standalone/$GMV/greenmail-standalone-$GMV.jar \
&& (sudo java $GMARGS -jar greenmail-standalone-$GMV.jar &) \
&& sleep 5

2
.github/config-test.inc.php

@ -1,6 +1,6 @@
<?php
$config = array();
$config = [];
// Database configuration
$config['db_dsnw'] = 'sqlite:////tmp/sqlite.db?mode=0646';

2
.htaccess

@ -10,7 +10,7 @@ RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico
# in all locations except installer directory
RewriteRule ^(?!installer|\.well-known\/|[a-zA-Z0-9]{16})(\.?[^\.]+)$ - [F]
# - deny access to some locations
RewriteRule ^/?(\.git|\.tx|\.ci|SQL|bin|config|logs|temp|tests|vendor|program\/(include|lib|localization|steps)) - [F]
RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|vendor|program\/(include|lib|localization|steps)) - [F]
# - deny access to some documentation files
RewriteRule /?(README.*|CHANGELOG.*|SECURITY.*|meta\.json|composer\..*|jsdeps.json)$ - [F]
</IfModule>

39
.travis.yml

@ -1,39 +0,0 @@
language: php
dist: xenial
sudo: false
matrix:
fast_finish: true
include:
#- php: 5.5
# dist: trusty
#- php: 5.6
#- php: 7.0
# env: CODE_COVERAGE=1
#- php: 7.1
#- php: 7.2
#- php: 7.3
# dist: bionic # for proper node-less version
# env: BROWSER_TESTS=1
# addons:
# chrome: stable
#- php: 7.4
- php: 8.0
dist: bionic # for proper node-less version
env: BROWSER_TESTS=1
addons:
chrome: stable
cache:
directories:
- $HOME/.composer
install:
- .ci/install.sh
script:
- .ci/run.sh
notifications:
email: false

1
README.md

@ -2,7 +2,6 @@ Roundcube Webmail
=================
[roundcube.net](https://roundcube.net)
[![Build Status](https://api.travis-ci.org/roundcube/roundcubemail.svg?branch=master)](https://travis-ci.org/roundcube/roundcubemail)
[![Tests Status](https://github.com/roundcube/roundcubemail/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/roundcube/roundcubemail/actions/workflows/tests.yml)
ATTENTION

Loading…
Cancel
Save