Skip to content

Fix+new links

Fix+new links #692

Workflow file for this run

name: "GSIT CI"
on:
# Runs test suite when a new commit is pushed on "master" and "*/bugfixes" branches
# and when a new tag is created
push:
branches:
- master
- '*/bugfixes'
- 'feature/*'
- 'fix/*'
- 'security/*'
tags:
- '*'
# Runs test suite when a PR is opened or synchronyzed
pull_request:
# Runs test suite every night
schedule:
- cron: '0 0 * * *'
# Enable manual run
workflow_dispatch:
jobs:
check_code:
runs-on: 'ubuntu-latest'
strategy:
matrix:
php-versions: ['8.2', '8.3']
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: phpstan
extensions: xmlrpc
- name: Cache Composer packages
id: composer-cache
uses: actions/cache@v4
with:
path: vendor
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Run PHPStan
run: phpstan analyse db src public
lint:
runs-on: 'ubuntu-latest'
strategy:
matrix:
php-versions: ['8.2', '8.3']
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
tools: cs2pr, phpcs
extensions: xmlrpc
- name: Cache Composer packages
id: composer-cache
uses: actions/cache@v4
with:
path: vendor
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Run phpcs
run: |
files=$(git diff --name-only --diff-filter=d origin/${{ github.base_ref }} | grep '^\(src\|public\|db\)' || true)
if [ -n "$files" ]; then
phpcs -q --report=checkstyle $files | cs2pr
fi
if: github.event_name == 'pull_request'
check_composer:
runs-on: 'ubuntu-latest'
strategy:
matrix:
php-versions: ['8.2', '8.3']
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
- name: Cache Composer packages
id: composer-cache
uses: actions/cache@v4
with:
path: vendor
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
- name: validate composer
run: composer validate --strict
- name: validate extensions required
run: composer check-platform-reqs
tests_unit_integration_MariaDB:
runs-on: 'ubuntu-latest'
strategy:
matrix:
php-versions: ['8.2', '8.3']
mariadb-versions: ['10.5', '10.6', '10.11', '11.4']
services:
mariadb:
image: mariadb:${{ matrix.mariadb-versions }}
ports:
- 3306:3306
env:
MARIADB_DATABASE: gsittests
MARIADB_USER: gsittests
MARIADB_PASSWORD: gsittests
MARIADB_ROOT_PASSWORD: rootpassword
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: intl, mbstring
- name: Cache Composer packages
id: composer-cache
uses: actions/cache@v4
with:
path: vendor
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: PHPUnit tests
run: ./vendor/bin/phpunit --coverage-text
tests_unit_integration_PostgreSQL:
runs-on: 'ubuntu-latest'
strategy:
matrix:
php-versions: ['8.2', '8.3']
pg-versions: ['13', '14', '15', '16', '17']
services:
postgres:
image: postgres:${{ matrix.pg-versions }}
ports:
- 5432:5432
env:
POSTGRES_USER: gsittests
POSTGRES_PASSWORD: gsittests
POSTGRES_DB: gsittests
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: intl, mbstring
- name: update databaseconfiguration
run: |
sed -i 's/mysql/pgsql/g' phinx.php
sed -i 's/utf8mb4/utf8/g' phinx.php
sed -i 's/3306/5432/g' phinx.php
- name: Cache Composer packages
id: composer-cache
uses: actions/cache@v4
with:
path: vendor
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: PHPUnit tests
run: ./vendor/bin/phpunit --coverage-text