Skip to content

🚒 too smort

🚒 too smort #19

Workflow file for this run

# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
# https://github.com/sebastianbergmann/phpunit/blob/master/.github/workflows/ci.yml
name: "Continuous Integration"
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
static-code-analysis:
name: "Static Code Analysis"
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
php-version:
- "8.1"
- "8.2"
- "8.3"
env:
PHAN_ALLOW_XDEBUG: 0
PHAN_DISABLE_XDEBUG_WARN: 1
steps:
- name: "Checkout"
uses: actions/checkout@v4
- name: "Install PHP"
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
tools: pecl
coverage: none
extensions: ast, apcu, memcached, redis
- name: "Update dependencies with composer"
uses: ramsey/composer-install@v2
- name: "Run phan"
run: php vendor/bin/phan --target-php-version=${{ matrix.php-version }}
build-docs:
name: "Build and publish Docs"
if: github.ref_name == 'main'
runs-on: ubuntu-latest
steps:
- name: "Checkout sources"
uses: actions/checkout@v4
- name: "Install PHP"
uses: shivammathur/setup-php@v2
with:
php-version: "8.1"
coverage: none
tools: phpDocumentor
extensions: apcu, memcached, redis
- name: "Build Docs"
run: phpdoc --config=phpdoc.xml.dist
- name: "Publish Docs to gh-pages"
uses: JamesIves/github-pages-deploy-action@v4
with:
BRANCH: gh-pages
FOLDER: docs
CLEAN: true
tests:
name: "Unit Tests"
needs: static-code-analysis
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-version:
- "8.1"
- "8.2"
- "8.3"
steps:
- name: "Checkout"
uses: actions/checkout@v4
- name: "Install Redis"
uses: shogo82148/actions-setup-redis@v1
with:
redis-version: '6.x'
- name: "Install Memcached"
uses: niden/actions-memcached@v7
- name: "Install PHP with extensions"
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: pcov
extensions: apcu, memcached, redis
ini-values: apc.enable=1, apc.enable_cli=1
- name: "Update dependencies with composer"
uses: ramsey/composer-install@v2
- name: "Run tests with phpunit"
run: php vendor/phpunit/phpunit/phpunit --configuration=phpunit.xml.dist
- name: "Send code coverage report to Codecov.io"
uses: codecov/codecov-action@v3