1*9ff8d41cSJaap de Haanname: Lint & Test 2*9ff8d41cSJaap de Haan 3*9ff8d41cSJaap de Haanon: 4*9ff8d41cSJaap de Haan push: 5*9ff8d41cSJaap de Haan branches: [main] 6*9ff8d41cSJaap de Haan pull_request: 7*9ff8d41cSJaap de Haan branches: [main] 8*9ff8d41cSJaap de Haan 9*9ff8d41cSJaap de Haanpermissions: 10*9ff8d41cSJaap de Haan contents: read 11*9ff8d41cSJaap de Haan 12*9ff8d41cSJaap de Haanjobs: 13*9ff8d41cSJaap de Haan php-lint: 14*9ff8d41cSJaap de Haan name: PHP Lint & Static Analysis 15*9ff8d41cSJaap de Haan runs-on: ubuntu-latest 16*9ff8d41cSJaap de Haan strategy: 17*9ff8d41cSJaap de Haan matrix: 18*9ff8d41cSJaap de Haan php-version: ['8.1', '8.2', '8.3'] 19*9ff8d41cSJaap de Haan steps: 20*9ff8d41cSJaap de Haan - uses: actions/checkout@v4 21*9ff8d41cSJaap de Haan 22*9ff8d41cSJaap de Haan - name: Setup PHP 23*9ff8d41cSJaap de Haan uses: shivammathur/setup-php@v2 24*9ff8d41cSJaap de Haan with: 25*9ff8d41cSJaap de Haan php-version: ${{ matrix.php-version }} 26*9ff8d41cSJaap de Haan tools: composer 27*9ff8d41cSJaap de Haan 28*9ff8d41cSJaap de Haan - name: Install Composer dependencies 29*9ff8d41cSJaap de Haan run: composer install --no-interaction --prefer-dist 30*9ff8d41cSJaap de Haan 31*9ff8d41cSJaap de Haan - name: Run PHP_CodeSniffer 32*9ff8d41cSJaap de Haan run: .composer-vendor/bin/phpcs 33*9ff8d41cSJaap de Haan 34*9ff8d41cSJaap de Haan - name: Run PHPStan 35*9ff8d41cSJaap de Haan if: matrix.php-version == '8.3' 36*9ff8d41cSJaap de Haan run: .composer-vendor/bin/phpstan analyse --no-progress 37*9ff8d41cSJaap de Haan 38*9ff8d41cSJaap de Haan js-lint: 39*9ff8d41cSJaap de Haan name: JavaScript Lint 40*9ff8d41cSJaap de Haan runs-on: ubuntu-latest 41*9ff8d41cSJaap de Haan steps: 42*9ff8d41cSJaap de Haan - uses: actions/checkout@v4 43*9ff8d41cSJaap de Haan 44*9ff8d41cSJaap de Haan - name: Setup Node.js 45*9ff8d41cSJaap de Haan uses: actions/setup-node@v4 46*9ff8d41cSJaap de Haan with: 47*9ff8d41cSJaap de Haan node-version: '24' 48*9ff8d41cSJaap de Haan 49*9ff8d41cSJaap de Haan - name: Install npm dependencies 50*9ff8d41cSJaap de Haan run: npm ci 51*9ff8d41cSJaap de Haan 52*9ff8d41cSJaap de Haan - name: Run ESLint 53*9ff8d41cSJaap de Haan run: npx eslint script.js script/ 54*9ff8d41cSJaap de Haan 55*9ff8d41cSJaap de Haan css-lint: 56*9ff8d41cSJaap de Haan name: LESS/CSS Lint 57*9ff8d41cSJaap de Haan runs-on: ubuntu-latest 58*9ff8d41cSJaap de Haan steps: 59*9ff8d41cSJaap de Haan - uses: actions/checkout@v4 60*9ff8d41cSJaap de Haan 61*9ff8d41cSJaap de Haan - name: Setup Node.js 62*9ff8d41cSJaap de Haan uses: actions/setup-node@v4 63*9ff8d41cSJaap de Haan with: 64*9ff8d41cSJaap de Haan node-version: '24' 65*9ff8d41cSJaap de Haan 66*9ff8d41cSJaap de Haan - name: Install npm dependencies 67*9ff8d41cSJaap de Haan run: npm ci 68*9ff8d41cSJaap de Haan 69*9ff8d41cSJaap de Haan - name: Run Stylelint 70*9ff8d41cSJaap de Haan run: npx stylelint "css/**/*.less" "*.less" 71