name: Lint on: pull_request jobs: xml-linters: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@master - name: Download schema run: wget https://apps.nextcloud.com/schema/apps/info.xsd - name: Lint info.xml uses: ChristophWurst/xmllint-action@v1 with: xml-file: ./appinfo/info.xml xml-schema-file: ./info.xsd php-linters: runs-on: ubuntu-latest strategy: matrix: php-versions: [7.2, 7.3, 7.4, 8.0] name: php${{ matrix.php-versions }} lint steps: - name: Checkout uses: actions/checkout@master - name: Set up php${{ matrix.php-versions }} uses: shivammathur/setup-php@master with: php-version: ${{ matrix.php-versions }} coverage: none - name: Lint run: composer run lint php-cs-fixer: name: php-cs check runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@master - name: Set up php uses: shivammathur/setup-php@master with: php-version: 7.4 tools: composer:v1 coverage: none - name: Install dependencies run: composer i - name: Run coding standards check run: composer run cs:check app-code-check: runs-on: ubuntu-latest strategy: matrix: nextcloud-versions: ['stable20'] name: Nextcloud ${{ matrix.nextcloud-versions }} app code check steps: - name: Set up php7.4 uses: shivammathur/setup-php@master with: php-version: 7.4 extensions: ctype,curl,dom,gd,iconv,intl,json,mbstring,openssl,posix,sqlite,xml,zip - name: Checkout Nextcloud run: git clone https://github.com/nextcloud/server.git --recursive --depth 1 -b ${{ matrix.nextcloud-versions }} nextcloud - name: Run tests run: php -f nextcloud/occ maintenance:install --database-name oc_autotest --database-user oc_autotest --admin-user admin --admin-pass admin --database sqlite --database-pass='' - name: Checkout uses: actions/checkout@master with: path: nextcloud/apps/twofactor_u2f - name: Run tests run: php -f nextcloud/occ app:check-code twofactor_u2f