Skip to content

ci

ci #651

Workflow file for this run

name: ci
on:
push:
branches:
- '*.x'
tags:
- '*'
pull_request:
schedule:
- cron: '0 0 * * *'
jobs:
ci:
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
include:
- php: '8.4'
stability: prefer-stable
name: PHP ${{ matrix.php }} - ${{ matrix.stability }}
steps:
- name: Check Out Code
uses: actions/checkout@v4
- name: Set Up PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: curl, dom, libxml, mbstring, pcntl, sqlite3, xdebug, zip
tools: composer:v2
coverage: xdebug
- name: Install Dependencies
run: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress --ignore-platform-reqs
- name: Run Tests
run: composer phpunit
#- name: Run Linter
# run: composer phpcs-test
#- name: Run Psalm Static Analysis
# run: composer psalm -- --shepherd
- name: Upload Coverage Results To Coveralls
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
composer global require php-coveralls/php-coveralls
php-coveralls --coverage_clover=./.coverage/clover.xml --json_path=./coveralls-upload.json -v
docker-ci:
runs-on: ubuntu-latest
name: Docker Compose
steps:
- name: Check Out Code
uses: actions/checkout@v4
- name: Set Up Docker
uses: docker/setup-buildx-action@v2
- name: Build Docker Images
run: docker compose build
- name: Start Docker Compose
run: docker compose up -d
- name: Install Dependencies
run: docker compose run --rm composer update --prefer-stable --no-interaction --no-progress --ignore-platform-reqs
- name: Run Tests
run: docker compose run --rm composer phpunit
#- name: Run Linter
# run: docker compose run --rm composer phpcs-test
#- name: Run Psalm Static Analysis
# run: docker compose run --rm composer psalm -- --shepherd
- name: Stop Docker Compose
if: always()
run: docker compose down