fix(deps): update dependency virtua to ^0.48.8 (main) #9122
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-FileCopyrightText: 2020-2024 Nextcloud GmbH and Nextcloud contributors | |
| # SPDX-License-Identifier: MIT | |
| name: PHPUnit | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - stable* | |
| env: | |
| APP_NAME: contacts | |
| jobs: | |
| php: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| # do not stop on another job's failure | |
| fail-fast: false | |
| matrix: | |
| php-versions: ['8.2', '8.3', '8.4', '8.5'] | |
| databases: ['sqlite'] | |
| server-versions: ['master', 'stable33', 'stable32'] | |
| exclude: | |
| - php-versions: '8.5' | |
| server-versions: 'stable32' | |
| include: | |
| - php-versions: '8.1' | |
| databases: 'sqlite' | |
| server-versions: 'stable32' | |
| name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }} | |
| steps: | |
| - name: Checkout server | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| repository: nextcloud/server | |
| ref: ${{ matrix.server-versions }} | |
| submodules: true | |
| - name: Checkout app | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| path: apps/${{ env.APP_NAME }} | |
| - name: Set up php ${{ matrix.php-versions }} | |
| uses: shivammathur/setup-php@85c019fd025f731a83ac9fbc1cdd9ba69d76b6e3 # v2.36.0 with verbose logging due to stuck runs | |
| with: | |
| php-version: ${{ matrix.php-versions }} | |
| tools: phpunit | |
| extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, gd, zip | |
| - name: Set up PHPUnit | |
| working-directory: apps/${{ env.APP_NAME }} | |
| run: | | |
| composer install | |
| composer bin all install | |
| - name: Set up Nextcloud | |
| env: | |
| DB_PORT: 4444 | |
| run: | | |
| mkdir data | |
| ./occ maintenance:install --verbose --database=${{ matrix.databases }} --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password | |
| ./occ app:enable --force ${{ env.APP_NAME }} | |
| php -S localhost:8080 & | |
| - name: PHPUnit & coverage | |
| if: ${{ matrix.server-versions == 'master' }} | |
| working-directory: apps/${{ env.APP_NAME }} | |
| run: composer run test:unit:coverage | |
| - name: PHPUnit | |
| if: ${{ matrix.server-versions != 'master' }} | |
| working-directory: apps/${{ env.APP_NAME }} | |
| run: composer run test:unit | |
| # - name: PHPUnit integration | |
| # working-directory: apps/${{ env.APP_NAME }} | |
| # run: composer run test:test:integration | |
| - name: Upload coverage | |
| working-directory: apps/${{ env.APP_NAME }} | |
| env: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| run: bash <(curl -s https://codecov.io/bash) | |
| mysql: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| # do not stop on another job's failure | |
| fail-fast: false | |
| matrix: | |
| php-versions: ['8.2', '8.3', '8.4', '8.5'] | |
| databases: ['mysql'] | |
| server-versions: ['master', 'stable33','stable32'] | |
| exclude: | |
| - php-versions: '8.5' | |
| server-versions: 'stable32' | |
| include: | |
| - php-versions: '8.1' | |
| databases: 'mysql' | |
| server-versions: 'stable32' | |
| name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }} | |
| services: | |
| mysql: | |
| image: mariadb:12.1 | |
| ports: | |
| - 4444:3306/tcp | |
| env: | |
| MYSQL_ROOT_PASSWORD: rootpassword | |
| options: --health-cmd="healthcheck.sh --connect --innodb_initialized" --health-interval=10s --health-timeout=5s --health-retries=10 --health-start-period=30s | |
| steps: | |
| - name: Checkout server | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| repository: nextcloud/server | |
| ref: ${{ matrix.server-versions }} | |
| submodules: true | |
| - name: Checkout app | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| path: apps/${{ env.APP_NAME }} | |
| - name: Patch for nightly PHP | |
| if: ${{ matrix.php-versions == '8.4' }} | |
| run: | | |
| echo "<?php" > lib/versioncheck.php | |
| sed -i 's/max-version="8.1"/max-version="8.2"/' apps/${{ env.APP_NAME }}/appinfo/info.xml | |
| - name: Set up php ${{ matrix.php-versions }} | |
| uses: shivammathur/setup-php@85c019fd025f731a83ac9fbc1cdd9ba69d76b6e3 # v2.36.0 with verbose logging due to stuck runs | |
| with: | |
| php-version: ${{ matrix.php-versions }} | |
| tools: phpunit | |
| extensions: mbstring, iconv, fileinfo, intl, mysql, pdo_mysql, gd, zip | |
| coverage: none | |
| - name: Set up PHPUnit | |
| working-directory: apps/${{ env.APP_NAME }} | |
| run: | | |
| composer install | |
| composer bin all install | |
| - name: Set up Nextcloud | |
| env: | |
| DB_PORT: 4444 | |
| run: | | |
| mkdir data | |
| ./occ maintenance:install --verbose --database=${{ matrix.databases }} --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password | |
| ./occ app:enable --force ${{ env.APP_NAME }} | |
| php -S localhost:8080 & | |
| - name: PHPUnit | |
| working-directory: apps/${{ env.APP_NAME }} | |
| run: composer run test:unit | |
| # - name: PHPUnit integration | |
| # working-directory: apps/${{ env.APP_NAME }} | |
| # run: composer run test:integration | |
| pgsql: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| # do not stop on another job's failure | |
| fail-fast: false | |
| matrix: | |
| php-versions: ['8.2', '8.3', '8.4', '8.5'] | |
| databases: ['pgsql'] | |
| server-versions: ['master', 'stable33', 'stable32'] | |
| exclude: | |
| - php-versions: '8.5' | |
| server-versions: 'stable32' | |
| include: | |
| - php-versions: '8.1' | |
| databases: 'pgsql' | |
| server-versions: 'stable32' | |
| name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }} | |
| services: | |
| postgres: | |
| image: postgres:18 | |
| ports: | |
| - 4444:5432/tcp | |
| env: | |
| POSTGRES_USER: root | |
| POSTGRES_PASSWORD: rootpassword | |
| POSTGRES_DB: nextcloud | |
| options: --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5 | |
| steps: | |
| - name: Checkout server | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| repository: nextcloud/server | |
| ref: ${{ matrix.server-versions }} | |
| submodules: true | |
| - name: Checkout app | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| path: apps/${{ env.APP_NAME }} | |
| - name: Set up php ${{ matrix.php-versions }} | |
| uses: shivammathur/setup-php@85c019fd025f731a83ac9fbc1cdd9ba69d76b6e3 # v2.36.0 with verbose logging due to stuck runs | |
| with: | |
| php-version: ${{ matrix.php-versions }} | |
| tools: phpunit | |
| extensions: mbstring, iconv, fileinfo, intl, pgsql, pdo_pgsql, gd, zip | |
| coverage: none | |
| - name: Set up PHPUnit | |
| working-directory: apps/${{ env.APP_NAME }} | |
| run: | | |
| composer install | |
| composer bin all install | |
| - name: Set up Nextcloud | |
| env: | |
| DB_PORT: 4444 | |
| run: | | |
| mkdir data | |
| ./occ maintenance:install --verbose --database=${{ matrix.databases }} --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password | |
| ./occ app:enable --force ${{ env.APP_NAME }} | |
| php -S localhost:8080 & | |
| - name: PHPUnit | |
| working-directory: apps/${{ env.APP_NAME }} | |
| run: composer run test:unit | |
| # - name: PHPUnit integration | |
| # working-directory: apps/${{ env.APP_NAME }} | |
| # composer run test:integration | |
| summary: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - php | |
| - mysql | |
| - pgsql | |
| if: always() | |
| name: php-test-summary | |
| steps: | |
| - name : Sqlite test status | |
| run: if ${{ needs.php.result != 'success' && needs.php.result != 'skipped' }}; then exit 1; fi | |
| - name : Mysql test status | |
| run: if ${{ needs.mysql.result != 'success' && needs.mysql.result != 'skipped' }}; then exit 1; fi | |
| - name : Pgsql test status | |
| run: if ${{ needs.pgsql.result != 'success' && needs.pgsql.result != 'skipped' }}; then exit 1; fi |