You've already forked phpmyadmin
mirror of
https://github.com/phpmyadmin/phpmyadmin.git
synced 2026-10-28 07:41:55 +03:00
Replaces manual Composer dependencies installation and cache with the ramsey/composer-install GitHub action. - https://github.com/marketplace/actions/install-composer-dependencies Includes other minor formatting changes. Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
111 lines
2.8 KiB
YAML
111 lines
2.8 KiB
YAML
name: Lint and analyse php files
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
types: [opened, synchronize, reopened]
|
|
branches:
|
|
- master
|
|
- QA_**
|
|
|
|
jobs:
|
|
lint-node:
|
|
runs-on: ubuntu-latest
|
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Set up Node
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: 12
|
|
|
|
- name: Get Yarn cache directory path
|
|
id: yarn-cache-dir-path
|
|
run: echo "::set-output name=dir::$(yarn cache dir)"
|
|
|
|
- name: Cache Yarn dependencies
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-yarn-
|
|
|
|
- name: Install modules
|
|
run: yarn install --non-interactive
|
|
|
|
- name: Lint JavaScript files
|
|
run: yarn run js-lint --quiet
|
|
|
|
- name: Lint CSS files
|
|
run: yarn run css-lint
|
|
|
|
lint-php-files:
|
|
runs-on: ubuntu-latest
|
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
|
strategy:
|
|
matrix:
|
|
php-version: ["7.2"]
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Set up PHP ${{ matrix.php-version }}
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: ${{ matrix.php-version }}
|
|
|
|
- name: Validate composer.json and composer.lock
|
|
run: composer validate --strict
|
|
|
|
- name: Install Composer dependencies
|
|
uses: ramsey/composer-install@v1
|
|
with:
|
|
dependency-versions: highest
|
|
# Ignore zip for php-webdriver/webdriver
|
|
composer-options: "--ignore-platform-req=ext-zip"
|
|
|
|
- name: Cache coding-standard
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: .phpcs-cache
|
|
key: phpcs-cache
|
|
|
|
- name: Lint PHP files
|
|
run: ./test/ci-phplint
|
|
|
|
- name: Check coding-standard
|
|
run: composer phpcs
|
|
|
|
- name: Check Twig templates
|
|
run: composer run twig-lint
|
|
|
|
analyse-php:
|
|
runs-on: ubuntu-latest
|
|
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
|
strategy:
|
|
matrix:
|
|
php-version: ["7.2"]
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Set up PHP ${{ matrix.php-version }}
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: ${{ matrix.php-version }}
|
|
extensions: mbstring, iconv, mysqli, zip, gd, bz2
|
|
|
|
- name: Install Composer dependencies
|
|
uses: ramsey/composer-install@v1
|
|
with:
|
|
dependency-versions: highest
|
|
|
|
- name: Analyse files with PHPStan
|
|
run: composer phpstan -- --memory-limit 2G
|
|
|
|
- name: Analyse files with Psalm
|
|
run: composer psalm -- --shepherd
|