the-kbA-team/version

View on GitHub
.github/workflows/main.yml

Summary

Maintainability
Test Coverage
# This is a basic workflow to help you get started with Actions

name: CI

# Controls when the action will run.
on:
  # Triggers the workflow on push or pull request events
  push:
  pull_request:

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # Composer config validation
  composer:
    name: "Composer config validation"
    runs-on: "ubuntu-latest"
    steps:
      - uses: "actions/checkout@v3"
      - name: "Validate composer.json"
        run: "composer validate --strict"

  # PHP syntax validation
  php:
    name: "PHP syntax validation"
    runs-on: "ubuntu-latest"
    strategy:
      matrix:
        php_version: [ 7.4, 8.0, 8.1, 8.2, 8.3 ]
    steps:
      - uses: "actions/checkout@v3"
      - uses: "shivammathur/setup-php@v2"
        with:
          php-version: "${{ matrix.php_version }}"

      - name: "Check PHP syntax of package"
        run: |
          php -l src/
          php -l tests/

  phpunit:
    name: "PHPUnit tests"
    runs-on: "ubuntu-latest"
    strategy:
      matrix:
        php_version: [ 7.4, 8.0, 8.1, 8.2, 8.3 ]
    steps:
      - uses: "actions/checkout@v3"
      - uses: "php-actions/composer@v6"
        with:
          php_version: "${{ matrix.php_version }}"
      - run: "vendor/bin/phpunit"

  # phpstan for several php versions
  phpstan:
    runs-on: "ubuntu-latest"
    strategy:
      matrix:
        php_version: [ 7.4, 8.0, 8.1, 8.2, 8.3 ]
    steps:
      - uses: "actions/checkout@v3"
      - uses: "php-actions/composer@v6"
        with:
          php_version: "${{ matrix.php_version }}"

      - name: "PHPStan Static Analysis"
        uses: "php-actions/phpstan@v3"
        with:
          php_version: "${{ matrix.php_version }}"
          configuration: "phpstan.neon"