All checks were successful
continuous-integration/drone/push Build is passing
SVN is required both for WP test setup and deployment actions, but no longer present on default "ubuntu-latest" environments. Add a step to install it.
86 lines
2.3 KiB
YAML
86 lines
2.3 KiB
YAML
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
|