Skip to content

Commit

Permalink
Adjusted CI.
Browse files Browse the repository at this point in the history
  • Loading branch information
dmiseev committed Sep 9, 2024
1 parent 3b8a7ef commit c48963f
Show file tree
Hide file tree
Showing 2 changed files with 98 additions and 26 deletions.
114 changes: 92 additions & 22 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,61 +1,131 @@
name: CI

env:
APPLICATION_ENV: 'development'
APPLICATION_STORE: 'DE'
PROJECT: 'OpenAi'
DATABASE_VERSION: 10.2
DATABASE_HOST: 127.0.0.1
DATABASE_PORT: 3306
DATABASE_NAME: eu-docker
DATABASE_USERNAME: root
DATABASE_PASSWORD: secret
DATABASE_ROOT_PASSWORD: secret
DATABASE_ALLOW_EMPTY_PASSWORD: false
DATABASE_CHARACTER_SET: utf8
DATABASE_COLLATE: utf8_general_ci

on:
pull_request:
push:
branches:
- 'master'
pull_request:
- master
workflow_dispatch:

jobs:
validation:
name: Validation
runs-on: ubuntu-latest
ci:
name: "OpenAi"
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
php: ['8.1', '8.2']

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v2

- name: Setup Database
uses: getong/[email protected]
with:
host port: ${{ env.DATABASE_PORT }}
container port: ${{ env.DATABASE_PORT }}
character set server: ${{ env.DATABASE_CHARACTER_SET }}
collation server: ${{ env.DATABASE_COLLATE }}
mariadb version: ${{ env.DATABASE_VERSION }}
mysql database: ${{ env.DATABASE_NAME }}
mysql root password: ${{ env.DATABASE_ROOT_PASSWORD }}
mysql user: ${{ env.DATABASE_USERNAME }}
mysql password: ${{ env.DATABASE_PASSWORD }}

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: ${{ matrix.php }}
extensions: mbstring, intl, bcmath
coverage: none
tools: composer:v2

- name: Configure sysctl limits
run: |
sudo swapoff -a
sudo sysctl -w vm.swappiness=1
sudo sysctl -w fs.file-max=262144
sudo sysctl -w vm.max_map_count=262144
- name: Composer get cache directory
id: composer-cache
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Composer Install
run: composer install --prefer-dist --no-interaction --profile
- name: Composer cache
uses: actions/cache@v2
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Run validation
- name: Composer validate
run: composer validate

- name: Syntax check
run: find ./src -path src -prune -o -type f -name '*.php' -print0 | xargs -0 -n1 -P4 php -l -n | (! grep -v "No syntax errors detected" )
- name: Composer install
run: |
composer --version
composer install
- name: Run CodeStyle checks
run: composer cs-check

- name: PHPStan setup
run: composer stan-setup
- name: Run codeception tests (currently not running properly)
run: composer test

- name: Run PHPStan
run: composer stan

lowest:
name: Prefer Lowest
runs-on: ubuntu-latest
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3
- name: Checkout@v2
uses: actions/checkout@v2

- name: Validate composer.json and composer.lock
run: composer validate

- name: Composer get cache directory
id: composer-cache
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Composer cache
uses: actions/cache@v2
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
extensions: mbstring, intl, bcmath
coverage: none

- name: Composer Install
run: composer install --prefer-dist --no-interaction --profile
- name: Composer prefer lowest
run: composer lowest-setup

- name: Run PHPStan (currently not running properly)
run: composer stan || true

- name: Composer Update
run: composer update --prefer-lowest --prefer-dist --no-interaction --profile -vvv
- name: Validate prefer lowest
run: vendor/bin/validate-prefer-lowest -m
10 changes: 6 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,12 @@
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"cs-check": "phpcs -p -s --standard=vendor/spryker/code-sniffer/SprykerStrict/ruleset.xml src/",
"cs-fix": "phpcbf -p --standard=vendor/spryker/code-sniffer/SprykerStrict/ruleset.xml src/",
"stan": "phpstan analyse -c phpstan.neon -l 8 src/",
"stan-setup": "cp composer.json composer.backup && COMPOSER_MEMORY_LIMIT=-1 composer require --dev phpstan/phpstan:^0.12 && mv composer.backup composer.json"
"cs-check": "phpcs -p -s --standard=vendor/spryker/code-sniffer/Spryker/ruleset.xml src/",
"cs-fix": "phpcbf -p --standard=vendor/spryker/code-sniffer/Spryker/ruleset.xml src/",
"stan": "vendor/bin/phpstan analyse",
"test": "vendor/bin/codecept run --quiet --fail-fast --no-exit",
"lowest": "validate-prefer-lowest",
"lowest-setup": "composer update --prefer-lowest --prefer-stable --prefer-dist --no-interaction && cp composer.json composer.backup && composer require --dev dereuromark/composer-prefer-lowest && mv composer.backup composer.json"
},
"extra": {
"branch-alias": {
Expand Down

0 comments on commit c48963f

Please sign in to comment.