Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 17 additions & 22 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,23 @@ jobs:
php-versions: ['8.2', '8.3']
nextcloud-versions: ['master', 'stable31']
include:
- php-versions: '8.4'
nextcloud-versions: 'master'
coverage: true
- php-versions: '8.1'
nextcloud-versions: 'stable32'
- php-versions: '8.4'
nextcloud-versions: 'stable32'
- php-versions: '8.5'
nextcloud-versions: 'master'
name: Nextcloud ${{ matrix.nextcloud-versions }} php${{ matrix.php-versions }} unit tests
name: Nextcloud ${{ matrix.nextcloud-versions }} php${{ matrix.php-versions }} unit tests ${{ matrix.coverage && '(coverage)' || ''}}
steps:
- name: Set up Nextcloud env
uses: ChristophWurst/setup-nextcloud@fc0790385c175d97e88a7cb0933490de6e990374 # v0.3.2
with:
nextcloud-version: ${{ matrix.nextcloud-versions }}
php-version: ${{ matrix.php-versions }}
php-coverage: 'xdebug'
php-coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
patch-php-version-check: ${{ matrix.php-versions == '8.5' }}
node-version: 'false'
install: true
Expand All @@ -45,18 +48,11 @@ jobs:
- name: Run tests
working-directory: nextcloud/apps/mail
run: composer run test:unit
if: ${{ matrix.php-versions == '8.3' }}
env:
XDEBUG_MODE: coverage
- name: Run tests
working-directory: nextcloud/apps/mail
run: composer run test:unit
if: ${{ matrix.php-versions != '8.3' }}
env:
XDEBUG_MODE: off
XDEBUG_MODE: ${{ matrix.coverage && 'coverage' || 'off' }}
- name: Report coverage
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
if: ${{ always() && matrix.php-versions == '8.3' }}
if: ${{ !cancelled() && matrix.coverage }}
with:
token: ${{ secrets.CODECOV_TOKEN }}
working-directory: nextcloud/apps/mail
Expand All @@ -74,6 +70,11 @@ jobs:
db: ['sqlite', 'mysql', 'pgsql']
cache: ['nocache']
include:
- php-versions: 8.4
nextcloud-versions: 'master'
db: 'mysql'
cache: 'nocache'
coverage: true
- php-versions: 8.1
nextcloud-versions: 'stable31'
db: 'sqlite'
Expand All @@ -90,11 +91,12 @@ jobs:
nextcloud-versions: 'stable32'
db: 'mysql'
cache: 'redis'
coverage: true
- php-versions: 8.5
nextcloud-versions: 'master'
db: 'mysql'
cache: 'redis'
name: ${{ matrix.nextcloud-versions }} w/ php${{ matrix.php-versions }}-${{ matrix.db }}-${{ matrix.cache }} integration tests
name: ${{ matrix.nextcloud-versions }} w/ php${{ matrix.php-versions }}-${{ matrix.db }}-${{ matrix.cache }} integration tests ${{ matrix.coverage && '(coverage)' || ''}}
services:
mail-service:
image: ghcr.io/christophwurst/docker-imap-devel:latest
Expand Down Expand Up @@ -149,7 +151,7 @@ jobs:
with:
nextcloud-version: ${{ matrix.nextcloud-versions }}
php-version: ${{ matrix.php-versions }}
php-coverage: 'xdebug'
php-coverage: ${{ matrix.coverage && 'xdebug' || 'none' }}
patch-php-version-check: ${{ matrix.php-versions == '8.5' }}
install: true
database: ${{ matrix.db }}
Expand Down Expand Up @@ -184,16 +186,9 @@ jobs:
echo "SET GLOBAL log_output = 'table';" | mysql -h 127.0.0.1 -u root -pmy-secret-pw
- name: Run tests
working-directory: nextcloud/apps/mail
if: ${{ matrix.db == 'mysql' }}
run: composer run test:integration
env:
XDEBUG_MODE: coverage
- name: Run tests
working-directory: nextcloud/apps/mail
if: ${{ matrix.db != 'mysql' }}
run: composer run test:integration
env:
XDEBUG_MODE: off
XDEBUG_MODE: ${{ matrix.coverage && 'coverage' || 'off' }}
- name: Read slow queries
if: ${{ always() }}
run: echo "SELECT * FROM mysql.slow_log WHERE sql_text LIKE '%oc_mail%' AND sql_text NOT LIKE '%information_schema%'" | mysql -h 127.0.0.1 -u root -pmy-secret-pw
Expand All @@ -202,7 +197,7 @@ jobs:
run: cat nextcloud/data/mail-*-*-imap.log
- name: Report coverage
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
if: ${{ always() && matrix.db == 'mysql' }}
if: ${{ !cancelled() && matrix.coverage }}
with:
token: ${{ secrets.CODECOV_TOKEN }}
working-directory: nextcloud/apps/mail
Expand Down
Loading