xref: /plugin/bpmnio/.github/workflows/lint.yml (revision 9ff8d41c7727ff9fa896ee8f49e170f6b8272716)
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