Browse Source

CI: Remove unreliable browser tests

Only in this branch
pull/9596/head
Aleksander Machniak 1 year ago
parent
commit
a8e2477dbe
  1. 33
      .github/config-test.inc.php
  2. 38
      .github/run.sh
  3. 66
      .github/workflows/browser_tests.yml

33
.github/config-test.inc.php

@ -1,33 +0,0 @@
<?php
$config = [];
// 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';
$config['enable_spellcheck'] = true;
$config['spellcheck_engine'] = 'pspell';

38
.github/run.sh

@ -1,38 +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
# Run tests
echo "\nTESTS_MODE: DESKTOP" \
&& TESTS_MODE=desktop vendor/bin/phpunit -c tests/Browser/phpunit.xml --exclude-group=failsonga \
&& echo "TESTS_MODE: PHONE" \
&& TESTS_MODE=phone vendor/bin/phpunit -c tests/Browser/phpunit.xml --exclude-group=failsonga-phone \
&& echo "TESTS_MODE: TABLET" \
&& TESTS_MODE=tablet vendor/bin/phpunit -c tests/Browser/phpunit.xml --exclude-group=failsonga-tablet

66
.github/workflows/browser_tests.yml

@ -1,66 +0,0 @@
name: browser_tests
on:
push:
pull_request:
jobs:
browser_tests:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[ci skip]')"
strategy:
fail-fast: true
name: Browser Tests
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.0
extensions: dom, curl, fileinfo, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, gd, ldap, intl, pspell
tools: composer:v2
coverage: none
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Setup problem matchers
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- name: Install Aspell
run: sudo apt-get -y install aspell aspell-en aspell-de
- name: Setup composer
run: |
cp composer.json-dist composer.json
composer require "laravel/dusk:~6.9.0" --no-update
- name: Fix PHPUnit for PHP8
run: composer config platform.php 7.4
- name: Install dependencies
run: composer install --prefer-dist --no-interaction --no-progress
- name: Roundcube configuration
run: cp .github/config-test.inc.php config/config-test.inc.php
- name: Setup NPM
uses: actions/setup-node@v1
with:
node-version: '12.x'
- name: Setup NPM deps
run: |
npm install --force -g less
npm install --force -g less-plugin-clean-css
npm install --force -g uglify-js
- name: Execute tests
run: .github/run.sh
Loading…
Cancel
Save