diff --git a/.github/workflows/static_analysis.yml b/.github/workflows/static_analysis.yml new file mode 100644 index 00000000..d904b083 --- /dev/null +++ b/.github/workflows/static_analysis.yml @@ -0,0 +1,51 @@ +name: Static analysis + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + phpstan: + name: Static analysis + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Get Composer Cache Directory + id: composer-cache + run: | + echo "::set-output name=dir::$(composer config cache-files-dir)" + + - uses: actions/cache@v1 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-composer- + + - name: Install dependencies + run: composer install --prefer-dist --no-progress + + - name: Lint config files + run: ./bin/console lint:yaml config --parse-tags + + - name: Lint twig templates + run: ./bin/console templates --env=prod + + - name: Lint translations + run: ./bin/console lint:xliff translations + + - name: Check dependencies for security + run: ./bin/console security:check + + - name: Check doctrine mapping + run: ./bin/console doctrine:schema:validate --skip-sync -vvv --no-interaction + + - name: Generate dev container + run: ./bin/console cache:clear --env dev + + - name: Run PHPstan + run: composer phpstan