Skip to content

feat: maintenance update, basic object storage support, minor cleanup #67

feat: maintenance update, basic object storage support, minor cleanup

feat: maintenance update, basic object storage support, minor cleanup #67

Workflow file for this run

name: Lint
on:
pull_request:
paths:
- 'appinfo/*.*'
- 'lib/**'
- 'src/**'
- 'templates/*.*'
- 'tests/Unit/**'
- 'tests/Integration/**'
- 'tests/javascript/**'
push:
paths:
- 'appinfo/*.*'
- 'lib/*.*'
- 'src/*.*'
- 'templates/*.*'
- 'tests/Unit/**'
- 'tests/Integration/**'
- 'tests/javascript/**'
workflow_dispatch:
jobs:
xml-lint:
runs-on: ubuntu-latest
name: info.xml lint
steps:
- uses: actions/checkout@v3
- name: Download xml appinfo schema
run: wget https://raw.githubusercontent.com/nextcloud/appstore/master/nextcloudappstore/api/v1/release/info.xsd
- name: Lint appinfo/info.xml
uses: ChristophWurst/xmllint-action@v1
with:
xml-file: ./appinfo/info.xml
xml-schema-file: ./info.xsd
php-lint:
runs-on: ubuntu-22.04
name: php-lint
strategy:
matrix:
php-versions: ["8.1", "8.2"]
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
- name: Lint
run: composer run lint
php-cs:
runs-on: ubuntu-22.04
name: php-cs
strategy:
matrix:
php-versions: [ "8.1", "8.2" ]
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
- name: Install dependencies
run: composer i
- name: Lint
run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 )
php-psalm-analysis:
runs-on: ubuntu-22.04
strategy:
matrix:
php-versions: [ "8.1", "8.2" ]
server-versions: [ '30' ]
name: php-psalm-analysis
steps:
- name: Cache nextcloud server
id: nextcloud_setup
uses: actions/cache@v3
with:
path: nextcloud-${{ matrix.server-versions }}.zip
key: ${{ matrix.server-versions }}
- name: Download nextcloud ${{ matrix.server-versions }}
if: steps.nextcloud_setup.outputs.cache-hit != 'true'
continue-on-error: true
id: server-checkout
run: |
NCVERSION=${{ matrix.server-versions }}
wget --quiet https://download.nextcloud.com/server/releases/latest-$NCVERSION.zip
unzip latest-$NCVERSION.zip
- 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: Install dependencies
run: composer i
- name: Run coding standards check
run: composer run psalm
php-security-analysis:
runs-on: ubuntu-22.04
permissions:
contents: read
actions: read
security-events: write
name: security analysis
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Psalm
uses: docker://vimeo/psalm-github-actions:4.30.0
with:
security_analysis: true
composer_ignore_platform_reqs: false
report_file: results.sarif
- name: Upload Security Analysis results to GitHub
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: results.sarif
js-eslint:
runs-on: ubuntu-22.04
name: eslint
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: Install dependencies
run: npm ci
- name: ESLint
run: npm run lint
stylelint:
runs-on: ubuntu-22.04
name: stylelint
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run stylelint