diff --git a/.github/workflows/json-validator.yml b/.github/workflows/json-validator.yml index 59df04b7..d91e47bf 100644 --- a/.github/workflows/json-validator.yml +++ b/.github/workflows/json-validator.yml @@ -3,6 +3,8 @@ name: Json Validator on: pull_request: push: + branches: + - main jobs: psalm: diff --git a/.github/workflows/lint-php.yml b/.github/workflows/lint-php.yml new file mode 100644 index 00000000..5da34471 --- /dev/null +++ b/.github/workflows/lint-php.yml @@ -0,0 +1,48 @@ +# This workflow is provided via the organization template repository +# +# https://github.com/nextcloud/.github +# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization + +name: Lint + +on: + pull_request: + push: + branches: + - main + - master + - stable* + +jobs: + php-lint: + runs-on: ubuntu-latest + strategy: + matrix: + php-versions: ["8.0"] + + name: php-lint + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up php ${{ matrix.php-versions }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-versions }} + coverage: none + + - name: Lint + run: cd php && composer run lint + + summary: + runs-on: ubuntu-latest + needs: php-lint + + if: always() + + name: php-lint-summary + + steps: + - name: Summary status + run: if ${{ needs.php-lint.result != 'success' && needs.php-lint.result != 'skipped' }}; then exit 1; fi diff --git a/.github/workflows/psalm-analysis.yml b/.github/workflows/psalm-analysis.yml index 23c29bf7..5f6ef582 100644 --- a/.github/workflows/psalm-analysis.yml +++ b/.github/workflows/psalm-analysis.yml @@ -3,16 +3,26 @@ name: Psalm Analysis on: pull_request: push: + branches: + - main jobs: psalm: name: Psalm runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v3 - - name: Psalm - uses: docker://ghcr.io/nextcloud/all-in-one-psalm + - uses: actions/checkout@v3 + - name: Set up php8.0 + uses: shivammathur/setup-php@v2 with: - composer_ignore_platform_reqs: false - relative_dir: php + php-version: 8.0 + extensions: apcu + coverage: none + + - name: Run script + run: | + set -x + cd php + composer global require vimeo/psalm --prefer-dist --no-progress --dev + composer install + composer run psalm -- --monochrome --no-progress --output-format=text diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml index 85f0d7ab..9b80cf3f 100644 --- a/.github/workflows/shellcheck.yml +++ b/.github/workflows/shellcheck.yml @@ -3,6 +3,8 @@ name: Shellcheck on: pull_request: push: + branches: + - main jobs: shellcheck: diff --git a/.github/workflows/spellcheck.yml b/.github/workflows/spellcheck.yml index 16dd02ad..49c9b116 100644 --- a/.github/workflows/spellcheck.yml +++ b/.github/workflows/spellcheck.yml @@ -3,6 +3,8 @@ name: 'Spellcheck' on: pull_request: push: + branches: + - main jobs: spellcheck: diff --git a/php/composer.json b/php/composer.json index 53de2abf..55fecbc6 100644 --- a/php/composer.json +++ b/php/composer.json @@ -20,6 +20,7 @@ }, "scripts": { "psalm": "psalm --threads=1", - "psalm:update-baseline": "psalm --threads=1 --update-baseline" + "psalm:update-baseline": "psalm --threads=1 --update-baseline", + "lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l" } }