Skip to content

tidy up

tidy up #666

Workflow file for this run

name: CI
on: [pull_request, push]
jobs:
test:
runs-on: ubuntu-22.04
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
php-version: ['7.4', '8.0', '8.1']
experimental: [false]
include:
- php-version: 7.2
experimental: true
- php-version: 7.3
experimental: true
- php-version: 8.2
experimental: true
steps:
- uses: actions/checkout@v2
- name: Set up PHP ${{ matrix.php-version }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
env:
COMPOSER_TOKEN: ${{ secrets.COMPOSER_TOKEN }}
- name: Setup Packages
run: |
cd $GITHUB_WORKSPACE
sudo apt update
sudo apt -y install rsync postfix
# - name: Cache Composer dependencies
# uses: actions/cache@v2
# with:
# path: /tmp/composer-cache
# key: ${{ matrix.php-version }}-${{ hashFiles('**/composer.lock') }}
- name: Install dependencies
uses: php-actions/composer@v6
with:
dev: yes
args: --prefer-dist --no-interaction
php_version: ${{ matrix.php-version }}
php_extensions: xml
version: 2
- name: Report Versions
run: |
google-chrome --version
lsb_release -a
php -v
chromedriver -v
geckodriver -V
which geckodriver
which chromedriver
firefox -v
vendor/bin/behat -V
mysql --version
mysqladmin --version
- name: Create Database
run: |
sudo systemctl start mysql.service
sudo mysql -proot -e 'drop database if exists phplistdb; create database phplistdb;'
sudo mysql -proot -e 'create user phplist@"%" identified by "phplist"; grant all on phplistdb.* to phplist@"%"'
- name: Set bootlist theme
run: |
cd $GITHUB_WORKSPACE/public_html/lists/admin/ui/
wget https://github.com/phpList/phplist-ui-bootlist/archive/master.tar.gz
tar -xzf master.tar.gz
mv phplist-ui-bootlist-master phplist-ui-bootlist
rm master.tar.gz
- name: Start Test Server
run: |
cd $GITHUB_WORKSPACE
cp -fv tests/ci/behat.yml tests/behat.yml
cp -fv tests/ci/config.php public_html/lists/config/config.php
mkdir -p output/screenshots
touch output/screenshots/README.md
mkdir -p output/mails
smtp-sink -c -d "output/mails/%Y%m%d%H/%M." 2500 1024 &
./bin/start-selenium > output/selenium.log 2>&1 &
sleep 5
sudo php -S 0.0.0.0:80 -t public_html > /dev/null 2>&1 &
- name: Check PHP syntax errors
uses: overtrue/phplint@2.4.1
with:
path: ./public_html
- name: Run BDD Tests UI
run: |
cd $GITHUB_WORKSPACE/tests
../vendor/bin/behat -p chrome -f progress --stop-on-failure --tags=@initialise
../vendor/bin/behat -p chrome -f progress --tags="~@initialise && ~@wip && ~@behattest"
- name: Run BDD Tests CLI
run: |
cd $GITHUB_WORKSPACE
export ADMIN_EMAIL=admin@phplist.dev
export ADMIN_PASSWORD=Mypassword123+
export ORGANISATION_NAME="phpList"
export ADMIN_NAME="phpList Administrator"
php public_html/lists/admin/index.php -c $GITHUB_WORKSPACE/public_html/lists/config/config.php -p initialise -f
cd $GITHUB_WORKSPACE/tests
../vendor/bin/behat -p chrome --tags="~@initialise && ~@wip"
- name: Upload the screenshots
if: always()
uses: actions/upload-artifact@v2
with:
path: "output"
name: "behat output ${{ matrix.php-version }}"
retention-days: 3
- name: Display output
run: |
cd $GITHUB_WORKSPACE
# find . -type f
# cat output/selenium.log
if: ${{ failure() }}