mirror of
https://github.com/Karaka-Management/oms-SupplierManagement.git
synced 2026-01-11 17:28:41 +00:00
84 lines
3.9 KiB
YAML
Executable File
84 lines
3.9 KiB
YAML
Executable File
name: CI/CD
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
|
codestyle-tests:
|
|
runs-on: ubuntu-latest
|
|
if: "!contains(github.event.head_commit.message, 'NO_CI')"
|
|
strategy:
|
|
fail-fast: false
|
|
max-parallel: 3
|
|
matrix:
|
|
php-versions: ['8.0']
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@master
|
|
with:
|
|
fetch-depth: 1
|
|
- name: Checkout Build Repository
|
|
uses: actions/checkout@master
|
|
with:
|
|
fetch-depth: 1
|
|
ref: develop
|
|
repository: Orange-Management/Build
|
|
path: Build
|
|
- name: Setup PHP, with composer and extensions
|
|
uses: shivammathur/setup-php@master
|
|
with:
|
|
php-version: ${{ matrix.php-versions }}
|
|
extensions: mbstring, gd, zip, dom, mysql, pgsql, sqlite, imap, bcmath, redis, memcached
|
|
ini-values: opcache.jit_buffer_size=256M, opcache.jit=1235, pcre.jit=1
|
|
- name: Get Composer Cache Directory
|
|
id: composer-cache
|
|
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
|
|
- name: Cache dependencies
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ${{ steps.composer-cache.outputs.dir }}
|
|
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
|
|
restore-keys: ${{ runner.os }}-composer-
|
|
- name: Setup Composer
|
|
run: composer install
|
|
- name: phpcs
|
|
run: vendor/bin/phpcs ./ --standard="Build/Config/phpcs.xml" -s --report=full
|
|
custom:
|
|
runs-on: ubuntu-latest
|
|
if: "!contains(github.event.head_commit.message, 'NO_CI')"
|
|
strategy:
|
|
fail-fast: false
|
|
max-parallel: 3
|
|
matrix:
|
|
php-versions: ['8.0']
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@master
|
|
with:
|
|
fetch-depth: 1
|
|
- name: Checkout Build Repository
|
|
uses: actions/checkout@master
|
|
with:
|
|
fetch-depth: 1
|
|
ref: develop
|
|
repository: Orange-Management/Build
|
|
path: Build
|
|
- name: Setup PHP, with composer and extensions
|
|
uses: shivammathur/setup-php@master
|
|
with:
|
|
php-version: ${{ matrix.php-versions }}
|
|
extensions: mbstring, gd, zip, dom, mysql, pgsql, sqlite, imap, bcmath, redis, memcached
|
|
ini-values: opcache.jit_buffer_size=256M, opcache.jit=1235, pcre.jit=1
|
|
- name: PHP linting
|
|
run: find ./ -type f -name '*.php' -print0 | xargs -0 -n1 -P4 php -l -n | (! grep -v "No syntax errors detected" )
|
|
- name: Php strict
|
|
run: if [[ $(grep -r -L "declare(strict_types=1);" --include=*.php --exclude={*.tpl.php,*Hooks.php,*Routes.php,*SearchCommands.php} ./) -ne "" ]]; then exit 1; fi
|
|
- name: Html inspection
|
|
run: |
|
|
if [[ $(find ./ -name "*tpl.php" | xargs grep -E '=\"[\#\$\%\^\&\*\(\)\\/\ ]*\"') -ne "" ]]; then exit 1; fi
|
|
if [[ $(find ./ -name "*tpl.php" | xargs grep -P '(\<img)((?!.*?alt=).)*(>)') -ne "" ]]; then exit 1; fi
|
|
- name: Js strict
|
|
run: if [[ $(grep -r -L "\"use strict\";" --include=*.js ./) -ne "" ]]; then exit 1; fi
|
|
- name: Js inspection
|
|
run: |
|
|
if [[ $(grep -rlni "onafterprint=\|onbeforeprint=\|onbeforeunload=\|onerror=\|onhaschange=\|onload=\|onmessage=\|onoffline=\|ononline=\|onpagehide=\|onpageshow=\|onpopstate=\|onredo=\|onresize=\|onstorage=\|onund=o\|onunload=\|onblur=\|onchage=\|oncontextmenu=\|onfocus=\|onformchange=\|onforminput=\|oninput=\|oninvalid=\|onreset=\|onselect=\|onsubmit=\|onkeydown=\|onkeypress=\|onkeyup=\|onclick=\|ondblclic=k\|ondrag=\|ondragend=\|ondragenter=\|ondragleave=\|ondragover=\|ondragstart=\|ondrop=\|onmousedown=\|onmousemove=\|onmouseout=\|onmouseover=\|onmouseup=\|onmousewheel=\|onscroll=\|onabor=t\|oncanplay=\|oncanplaythrough=\|ondurationchange=\|onemptied=\|onended=\|onerror=\|onloadeddata=\|onloadedmetadata=\|onloadstart=\|onpause=\|onplay=\|onplaying=\|onprogress=\|onratechange=\|onreadystatechange=\|onseeked=\|onseeking=\|onstalled=\|onsuspend=\|ontimeupdate=\|onvolumechange=" --include=*.js ./) -ne "" ]]; then exit 1; fi
|