Skip to content

Install phpdocumentor/reflection-docblock for webauthn #149

Install phpdocumentor/reflection-docblock for webauthn

Install phpdocumentor/reflection-docblock for webauthn #149

Workflow file for this run

name: quality
on:
push:
branches:
- master
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
static-analysis:
name: Static Analysis
runs-on: [self-hosted, Linux, x64]
container: shivammathur/node:latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
env:
runner: self-hosted
with:
php-version: '8.2'
extensions: zip, xsl, dom, exif, intl, pcntl, bcmath, sockets, mbstring, pdo_mysql, mysqli, redis
tools: composer
- name: Get Composer Cache Directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Prepare Cache For Composer
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install Dependencies
run: composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader
- name: Run Psalm
run: ./vendor/bin/psalm --php-version=8.2 --show-info=true --no-cache
coding-standards:
name: Coding Standards
runs-on: [self-hosted, Linux, x64]
container: shivammathur/node:latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
env:
runner: self-hosted
with:
php-version: '8.2'
extensions: zip, xsl, dom, exif, intl, pcntl, bcmath, sockets, mbstring, pdo_mysql, mysqli, redis
tools: composer
- name: Get Composer Cache Directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Prepare Cache For Composer
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: "${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}"
restore-keys: ${{ runner.os }}-composer-
- name: Install Dependencies
run: composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader
- name: Run Code Sniffer
run: ./vendor/bin/phpcs -p -n --standard=PSR12 --colors --report=code ./app/src
tests:
name: Tests
runs-on: [self-hosted, Linux, x64]
container: shivammathur/node:latest
permissions:
contents: read
packages: write
services:
cache:
image: cashtrack/redis:latest
ports:
- 6379
database:
image: cashtrack/mysql:latest
env:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: cashtrack
MYSQL_USER: cashtrack
MYSQL_PASSWORD: secret
ports:
- 3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
env:
runner: self-hosted
with:
php-version: '8.2'
coverage: pcov
extensions: zip, xsl, dom, exif, intl, pcntl, bcmath, sockets, mbstring, pdo_mysql, mysqli, redis
tools: composer, phpunit
- name: Get Composer Cache Directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Prepare Cache For Composer
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Setup Application
run: |
cp .env.actions .env
composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader
php app.php encrypt:key -m .env
php app.php rsa:gen -m .env
php app.php configure -vv
vendor/bin/rr get --quiet
php app.php migrate:init
php app.php migrate -s -n
- name: Run PHPUnit
run: ./vendor/bin/phpunit --coverage-clover=coverage.xml
- name: Upload Coverage To Codecov
continue-on-error: true
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml