Skip to content

Build pipeline

Build pipeline #67

Workflow file for this run

name: Tests
env:
EXTNAME: mober/discordnotifications # Your extension vendor/package name
SNIFF: 1 # Run code sniffer on your code? 1 or 0
IMAGE_ICC: 0 # Run icc profile sniffer on your images? 1 or 0
EPV: 1 # Run EPV (Extension Pre Validator) on your code? 1 or 0
EXECUTABLE_FILES: 1 # Run check for executable files? 1 or 0
PHPBB_BRANCH: 3.3.x # The phpBB branch to run tests on
on:
push:
branches: # Run tests when commits are pushed to these branches in your repo
- master
- develop
pull_request: # Run tests when pull requests are made on these branches in your repo
branches:
- master
- develop
jobs:
# START Basic Checks Job (EPV, code sniffer, images check, etc.)
basic-checks:
runs-on: ubuntu-20.04
strategy:
matrix:
include:
- php: '7.2'
db: "none"
NOTESTS: 1
name: PHP ${{ matrix.php }} - ${{ matrix.db }}
steps:
- name: Checkout phpBB
uses: actions/checkout@v2
with:
repository: phpbb/phpbb
ref: ${{ env.PHPBB_BRANCH }}
path: phpBB3
- name: Checkout extension
uses: actions/checkout@v2
with:
path: phpBB3/phpBB/ext/${{ env.EXTNAME }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, mysqli, sqlite, pdo_sqlite, intl, gd, exif, iconv, sqlsrv, pdo_sqlsrv, ldap
coverage: none
- name: Setup environment for phpBB
env:
DB: ${{ matrix.db }}
PHP_VERSION: ${{ matrix.php }}
NOTESTS: '1'
run: .github/setup-phpbb.sh $DB $PHP_VERSION $NOTESTS
working-directory: ./phpBB3
- name: Setup EPV
if: ${{ env.EPV != 0 }}
run: composer require phpbb/epv:dev-master --dev --no-interaction --ignore-platform-reqs
working-directory: ./phpBB3/phpBB
- name: Run code sniffer
if: ${{ env.SNIFF != 0 }}
env:
NOTESTS: '1'
run: .github/ext-sniff.sh $EXTNAME $NOTESTS
working-directory: ./phpBB3
- name: Check image ICC profiles
if: ${{ env.IMAGE_ICC != 0 }}
run: .github/check-image-icc-profiles.sh
working-directory: ./phpBB3
- name: Check executable files
if: ${{ env.EXECUTABLE_FILES != 0 }}
run: .github/ext-check-executable-files.sh ./ $EXTNAME
working-directory: ./phpBB3
- name: Run EPV
if: ${{ env.EPV != 0 }}
run: phpBB/vendor/bin/EPV.php run --dir="phpBB/ext/$EXTNAME/"
working-directory: ./phpBB3
# END Basic Checks Job
# # START MySQL and MariaDB Job
# mysql-tests:
# runs-on: ubuntu-20.04
# strategy:
# matrix:
# include:
# - php: '7.2'
# db: "mariadb:10.1"
# - php: '7.2'
# db: "mariadb:10.2"
# - php: '7.2'
# db: "mariadb:10.3"
# - php: '7.2'
# db: "mariadb:10.4"
# - php: '7.2'
# db: "mariadb:10.5"
# - php: '7.2'
# db: "mysql:5.6"
# db_alias: "MySQL Slow Tests"
# SLOWTESTS: 1
# - php: '7.2'
# db: "mysql:5.6"
# db_alias: "MyISAM Tests"
# MYISAM: 1
# - php: '7.2'
# db: "mysql:5.6"
# - php: '7.2'
# db: "mysql:5.7"
# - php: '7.3'
# db: "mysql:5.7"
# - php: '7.4'
# db: "mysql:5.7"
# - php: '7.4'
# db: "mysql:8.0"
# - php: '8.0'
# db: "mysql:5.7"
# - php: '8.1'
# db: "mysql:5.7"
# - php: '8.2'
# db: "mysql:5.7"
#
# name: PHP ${{ matrix.php }} - ${{ matrix.db_alias != '' && matrix.db_alias || matrix.db }}
#
# services:
# mysql:
# image: ${{ matrix.db }}
# env:
# MYSQL_ALLOW_EMPTY_PASSWORD: yes
# MYSQL_DATABASE: phpbb_tests
# ports:
# - 3306:3306
# options: >-
# --health-cmd="mysqladmin ping"
# --health-interval=10s
# --health-timeout=5s
# --health-retries=3
#
# redis:
# image: redis
# options: >-
# --health-cmd "redis-cli ping"
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# ports:
# - 6379:6379
#
# steps:
# - name: Checkout phpBB
# uses: actions/checkout@v2
# with:
# repository: phpbb/phpbb
# ref: ${{ env.PHPBB_BRANCH }}
# path: phpBB3
#
# - name: Checkout extension
# uses: actions/checkout@v2
# with:
# path: phpBB3/phpBB/ext/${{ env.EXTNAME }}
#
# - id: database-type
# env:
# MATRIX_DB: ${{ matrix.db }}
# run: |
# db=$(echo "${MATRIX_DB%%:*}")
# echo "::set-output name=db::$db"
#
# - name: Setup PHP
# uses: shivammathur/setup-php@v2
# with:
# php-version: ${{ matrix.php }}
# extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, mysqli, sqlite, pdo_sqlite, intl, gd, exif, iconv, sqlsrv, pdo_sqlsrv, ldap
# coverage: none
#
# - name: Setup environment for phpBB
# env:
# DB: ${{steps.database-type.outputs.db}}
# PHP_VERSION: ${{ matrix.php }}
# NOTESTS: '0'
# run: .github/setup-phpbb.sh $DB $PHP_VERSION ${NOTESTS:-0}
# working-directory: ./phpBB3
#
# - name: Setup database
# env:
# DB: ${{steps.database-type.outputs.db}}
# MYISAM: ${{ matrix.MYISAM != 1 && '0' || '1' }}
# run: .github/setup-database.sh $DB $MYISAM
# working-directory: ./phpBB3
#
# - name: Setup PHPUnit files
# run: mkdir -p phpBB/ext/$EXTNAME/.github && cp .github/phpunit* $_
# working-directory: ./phpBB3
#
# - name: Run unit tests
# env:
# DB: ${{steps.database-type.outputs.db}}
# run: phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/.github/phpunit-$DB-github.xml --bootstrap ./tests/bootstrap.php
# working-directory: ./phpBB3
# # END MySQL and MariaDB Job
#
# # START PostgreSQL Job
# postgres-tests:
# runs-on: ubuntu-20.04
# strategy:
# matrix:
# include:
# - php: '7.2'
# db: "postgres:9.3"
# - php: '7.2'
# db: "postgres:9.5"
# - php: '7.2'
# db: "postgres:9.6"
# - php: '7.2'
# db: "postgres:10"
# - php: '7.2'
# db: "postgres:11"
# - php: '7.2'
# db: "postgres:12"
# - php: '7.2'
# db: "postgres:13"
# - php: '7.3'
# db: "postgres:13"
# - php: '7.4'
# db: "postgres:13"
# - php: '8.0'
# db: "postgres:12"
# - php: '8.0'
# db: "postgres:13"
# - php: '8.1'
# db: "postgres:14"
# - php: '8.2'
# db: "postgres:14"
#
# name: PHP ${{ matrix.php }} - ${{ matrix.db }}
#
# services:
# postgres:
# image: ${{ matrix.db != 'postgres:9.5' && matrix.db != 'postgres:9.6' && matrix.db != 'postgres:10' && matrix.db != 'postgres:11' && matrix.db != 'postgres:12' && matrix.db != 'postgres:13' && 'postgres:10' || matrix.db }}
# env:
# POSTGRES_HOST: localhost
# POSTGRES_USER: postgres
# POSTGRES_PASSWORD: postgres
# ports:
# - 5432:5432
# options: >-
# -v /var/run/postgresql:/var/run/postgresql
# --health-cmd pg_isready
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
#
# redis:
# image: redis
# options: >-
# --health-cmd "redis-cli ping"
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# ports:
# - 6379:6379
#
# steps:
# - name: Checkout phpBB
# uses: actions/checkout@v2
# with:
# repository: phpbb/phpbb
# ref: ${{ env.PHPBB_BRANCH }}
# path: phpBB3
#
# - name: Checkout extension
# uses: actions/checkout@v2
# with:
# path: phpBB3/phpBB/ext/${{ env.EXTNAME }}
#
# - id: database-type
# env:
# MATRIX_DB: ${{ matrix.db }}
# run: |
# db=$(echo "${MATRIX_DB%%:*}")
# echo "::set-output name=db::$db"
#
# - name: Setup PHP
# uses: shivammathur/setup-php@v2
# with:
# php-version: ${{ matrix.php }}
# extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, mysqli, sqlite, pdo_sqlite, intl, gd, exif, iconv, sqlsrv, pdo_sqlsrv, ldap
# coverage: none
#
# - name: Setup environment for phpBB
# env:
# DB: ${{steps.database-type.outputs.db}}
# PHP_VERSION: ${{ matrix.php }}
# NOTESTS: '0'
# run: .github/setup-phpbb.sh $DB $PHP_VERSION ${NOTESTS:-0}
# working-directory: ./phpBB3
#
# - name: Setup database
# env:
# DB: ${{steps.database-type.outputs.db}}
# MYISAM: '0'
# run: .github/setup-database.sh $DB $MYISAM
# working-directory: ./phpBB3
#
# - name: Setup PHPUnit files
# run: mkdir -p phpBB/ext/$EXTNAME/.github && cp .github/phpunit* $_
# working-directory: ./phpBB3
#
# - name: Run unit tests
# env:
# DB: ${{steps.database-type.outputs.db}}
# run: phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/.github/phpunit-$DB-github.xml --bootstrap ./tests/bootstrap.php
# working-directory: ./phpBB3
# # END PostgreSQL Job
#
# # START Other Tests Job (SQLite 3 and mssql)
# other-tests:
# runs-on: ubuntu-20.04
# strategy:
# matrix:
# include:
# - php: '7.2'
# db: "sqlite3"
# - php: '7.2'
# db: "mcr.microsoft.com/mssql/server:2017-latest"
# db_alias: 'MSSQL 2017'
# - php: '7.2'
# db: "mcr.microsoft.com/mssql/server:2019-latest"
# db_alias: 'MSSQL 2019'
#
# name: PHP ${{ matrix.php }} - ${{ matrix.db_alias != '' && matrix.db_alias || matrix.db }}
#
# services:
# mssql:
# image: ${{ matrix.db != 'mcr.microsoft.com/mssql/server:2017-latest' && matrix.db != 'mcr.microsoft.com/mssql/server:2019-latest' && 'mcr.microsoft.com/mssql/server:2017-latest' || matrix.db }}
# env:
# SA_PASSWORD: "Pssw0rd_12"
# ACCEPT_EULA: "y"
# ports:
# - 1433:1433
# options: >-
# --health-cmd="/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'Pssw0rd_12' -Q \"Use [master]; CREATE DATABASE [phpbb_tests] COLLATE Latin1_General_CI_AS\" || exit 1"
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# --health-start-period 10s
#
# redis:
# image: redis
# options: >-
# --health-cmd "redis-cli ping"
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# ports:
# - 6379:6379
#
# steps:
# - name: Checkout phpBB
# uses: actions/checkout@v2
# with:
# repository: phpbb/phpbb
# ref: ${{ env.PHPBB_BRANCH }}
# path: phpBB3
#
# - name: Checkout extension
# uses: actions/checkout@v2
# with:
# path: phpBB3/phpBB/ext/${{ env.EXTNAME }}
#
# - id: database-type
# env:
# MATRIX_DB: ${{ matrix.db }}
# run: |
# if [ $MATRIX_DB == 'mcr.microsoft.com/mssql/server:2017-latest' ] || [ $MATRIX_DB == 'mcr.microsoft.com/mssql/server:2019-latest' ]
# then
# db='mssql'
# else
# db=$(echo "${MATRIX_DB%%:*}")
# fi
# echo "::set-output name=db::$db"
#
# - name: Setup PHP
# uses: shivammathur/setup-php@v2
# with:
# php-version: ${{ matrix.php }}
# extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, mysqli, sqlite, pdo_sqlite, intl, gd, exif, iconv, sqlsrv, pdo_sqlsrv, ldap
# coverage: none
#
# - name: Setup environment for phpBB
# env:
# DB: ${{steps.database-type.outputs.db}}
# PHP_VERSION: ${{ matrix.php }}
# NOTESTS: '0'
# run: .github/setup-phpbb.sh $DB $PHP_VERSION ${NOTESTS:-0}
# working-directory: ./phpBB3
#
# - name: Setup database
# env:
# DB: ${{steps.database-type.outputs.db}}
# MYISAM: '0'
# run: .github/setup-database.sh $DB $MYISAM
# working-directory: ./phpBB3
#
# - name: Setup PHPUnit files
# run: mkdir -p phpBB/ext/$EXTNAME/.github && cp .github/phpunit* $_
# working-directory: ./phpBB3
#
# - name: Run unit tests
# env:
# DB: ${{steps.database-type.outputs.db}}
# run: phpBB/vendor/bin/phpunit --configuration phpBB/ext/$EXTNAME/.github/phpunit-$DB-github.xml --bootstrap ./tests/bootstrap.php
# working-directory: ./phpBB3
# END Other Tests Job