# Run CI tests via Github.
name: Static Analysis and Build

on:
  pull_request:
    branches:
      - develop
      - master

jobs:
  staticAnalysis:
    runs-on: ubuntu-latest
    name: PHP Static Analysis
    continue-on-error: ${{ matrix.experimental }}
    strategy:
      fail-fast: false
      matrix:
        php: [ '7.4', '8.0', '8.1', '8.2' ]
        experimental: [false]

    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php }}
          tools: composer
          coverage: none

      - name: Install dependencies
        uses: ramsey/composer-install@v2
        with:
          composer-options: "--no-progress --no-ansi --no-interaction"
          dependency-versions: "lowest"

      - name: Log debug information
        run: |
          php --version
          composer --version
      - name: PHP Static Analysis
        run: composer phpstan

      - name: Run PHPCS
        run: composer phpcs:ci

  canBuild:
    runs-on: ubuntu-latest
    name: Can Build

    steps:
        - name: Checkout
          uses: actions/checkout@v3

        - name: Setup Node
          uses: actions/setup-node@v4
          with:
            node-version: 'lts/*'

        - name: Log debug information
          run: |
            node --version
            npm --version

        - name: Install dependencies
          run: npm ci

        - name: Build
          run: npm run build

        - name: Create POT file
          run: npm run pot