Skip to content

use api php8.1 version #730

use api php8.1 version

use api php8.1 version #730

Workflow file for this run

name: CI
on: [pull_request]
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', '8.2']
experimental: [false]
include:
- php-version: '8.3'
experimental: true
steps:
- uses: actions/checkout@v3
- 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: |
sudo apt update
sudo apt install -y rsync
- name: Install dependencies
uses: php-actions/composer@v6
with:
dev: yes
args: --prefer-dist --no-interaction
php_version: ${{ matrix.php-version }}
php_extensions: xml
- 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'
sudo mysqladmin -proot create phplistdb
sudo mysql -proot -e 'CREATE USER phplist@"%" IDENTIFIED BY "phplist"; GRANT ALL ON phplistdb.* TO phplist@"%"'
- name: Set Bootlist Theme
run: |
cd 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: |
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
mkdir -p build/mails
./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/[email protected]
with:
path: ./public_html
- name: Run BDD Tests UI
run: |
cd tests
../vendor/bin/behat -p chrome -f progress --stop-on-failure --tags=@initialise
../vendor/bin/behat -p chrome -f progress --tags="~@initialise && ~@wip"
- name: Run BDD Tests CLI
run: |
export [email protected]
export ADMIN_PASSWORD=Mypassword123+
export ORGANISATION_NAME="phpList"
export ADMIN_NAME="phpList Administrator"
php public_html/lists/admin/index.php -c public_html/lists/config/config.php -p initialise -f
cd tests
../vendor/bin/behat -p chrome --tags="~@initialise && ~@wip"
- name: Upload the Screenshots
if: always()
uses: actions/upload-artifact@v3
with:
path: "output"
name: "behat output ${{ matrix.php-version }}"
retention-days: 3
- name: Display Output on Failure
if: failure()
run: |
find . -type f
cat output/selenium.log