Skip to content

github actions

github actions #5

name: "Online learning platform"
on:
push:
branches:
- "master"
pull_request:
branches:
- "master"
jobs:
phpunit:
name: "PHPUnit tests"
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
dependencies:
- "locked"
php-version:
- "8.2"
operating-system:
- "ubuntu-latest"
- "windows-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v3"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "pcov"
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1
- name: "Get composer cache directory"
id: "composer-cache"
run: "echo \"::set-output name=dir::$(composer config cache-files-dir)\""
- name: "Cache composer dependencies"
uses: "actions/cache@v1"
with:
path: "${{ steps.composer-cache.outputs.dir }}"
key: "${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}"
restore-keys: "${{ runner.os }}-composer-"
- name: "Install Composer dependencies"
run: "composer install"
- name: "Tests"
run: "vendor/bin/phpunit tests/ --colors"
static-analysis-phpstan:
name: "Static Analysis by PHPStan"
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
dependencies:
- "locked"
php-version:
- "8.2"
operating-system:
- "ubuntu-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v3"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1
- name: "Install dependencies"
uses: "ramsey/[email protected]"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "PHPStan"
run: "vendor/bin/phpstan analyse --memory-limit=-1"
coding-standards:
name: "Check Coding Standards"
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
dependencies:
- "locked"
php-version:
- "8.2"
operating-system:
- "ubuntu-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v3"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1
- name: "Install dependencies"
uses: "ramsey/[email protected]"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Coding Standard"
run: "vendor/bin/phpcs src/ --standard=psr12"