name: CI on: [push, pull_request] jobs: integration: runs-on: ubuntu-latest strategy: matrix: include: - php: '8.3' wordpress: '6.6' - php: '8.2' wordpress: '6.4' - php: '8.1' wordpress: '6.2' - php: '8.0' wordpress: '6.0' - php: '7.4' wordpress: '5.9' steps: - name: Checkout uses: actions/checkout@v4 - name: Install SVN run: | if ! command -v svn > /dev/null; then sudo apt-get update sudo apt-get install -y subversion fi - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} coverage: xdebug tools: composer - name: Setup DB run: sudo sudo systemctl start mysql.service - name: Setup WP run: bash bin/install-wp-tests.sh wordpress root root localhost "${{ matrix.wordpress }}" - name: Install run: composer install --no-interaction - name: Test run: composer test quality: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: '8.2' tools: composer - name: Setup Node uses: actions/setup-node@v4 with: node-version: '22' - name: Install run: | composer install --no-interaction npm install - name: Code style checks for PHP, JS and CSS run: | composer lint-php composer lint-js composer lint-css analysis: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Analyze with SonarCloud if: env.SONAR_TOKEN != '' uses: sonarsource/sonarcloud-github-action@v3 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: args: > -Dsonar.organization=stklcode-github -Dsonar.projectKey=stklcode:wp-liveticker -Dsonar.sources=includes,scripts,views,stklcode-liveticker.php -Dsonar.exclusions=scripts/*.min.js,styles/*.min.css