diff --git a/.github/workflows/code-style-analysis.yml b/.github/workflows/code-style-analysis.yml new file mode 100644 index 00000000..b10dc349 --- /dev/null +++ b/.github/workflows/code-style-analysis.yml @@ -0,0 +1,45 @@ +name: Coding Style Analysis + +on: + - push + - pull_request + +jobs: + analysis: + name: Coding Style Analysis + runs-on: "ubuntu-latest" + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Setup PHP 7.2 + uses: "shivammathur/setup-php@v2" + with: + php-version: "7.2" + extensions: swoole, posix, json + + - name: Setup problem matchers for PHP + run: echo "::add-matcher::${{ runner.tool_cache }}/php.json" + + - name: Validate composer.json + run: "composer validate --strict" + + - 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@v2 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} + restore-keys: ${{ runner.os }}-composer- + + - name: Install Composer Dependencies + run: "composer install --prefer-dist --no-progress --optimize-autoloader" + + - name: Run Static Analysis + run: "composer analyse" + + - name: Run PHP CS Fixer Check + run: "./vendor/bin/php-cs-fixer fix --dry-run --diff"