Skip to content

chore(release): v1.11.9 #16823

chore(release): v1.11.9

chore(release): v1.11.9 #16823

Workflow file for this run

name: Test
on:
pull_request:
push:
branches:
- master
- stable*
jobs:
unit-tests:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: [7.3, 7.4]
nextcloud-versions: ['stable20', 'stable21', 'stable22', 'stable23']
include:
- php-versions: 7.4
nextcloud-versions: stable24
- php-versions: 8.0
nextcloud-versions: stable24
name: Nextcloud ${{ matrix.nextcloud-versions }} php${{ matrix.php-versions }} unit tests
steps:
- name: Set up php${{ matrix.php-versions }}
uses: shivammathur/setup-php@master
with:
php-version: ${{ matrix.php-versions }}
tools: composer:v1
extensions: ctype,curl,dom,gd,iconv,intl,json,mbstring,openssl,posix,sqlite,xml,zip,gmp
coverage: xdebug
- name: Checkout Nextcloud
run: git clone https://github.com/nextcloud/server.git --recursive --depth 1 -b ${{ matrix.nextcloud-versions }} nextcloud
- name: Install Nextcloud
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: Fix php-parser on stable20 incompatibility with phpunit 9.3+
if: ${{ matrix.nextcloud-versions == 'stable20' }}
working-directory: nextcloud/3rdparty
run: composer require nikic/php-parser:4.10
- name: Checkout Mail
uses: actions/checkout@master
with:
path: nextcloud/apps/mail
- name: Install dependencies
working-directory: nextcloud/apps/mail
run: composer install
- name: Run tests
working-directory: nextcloud/apps/mail
run: composer run test:unit
env:
XDEBUG_MODE: coverage
- name: Report coverage
uses: codecov/[email protected]
if: ${{ always() && matrix.nextcloud-versions == 'master' }}
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./nextcloud/apps/mail/tests/clover.unit.xml
flags: unittests
fail_ci_if_error: true
integration-tests:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: [7.4, 8.0]
nextcloud-versions: ['stable24']
db: ['sqlite', 'mysql', 'pgsql']
name: php${{ matrix.php-versions }}-${{ matrix.db }} integration tests
services:
mail-service:
image: christophwurst/imap-devel
env:
MAILNAME: mail.domain.tld
MAIL_ADDRESS: [email protected]
MAIL_PASS: mypassword
ports:
- 25:25
- 143:143
- 993:993
- 4190:4190
mysql-service:
image: mariadb:10.5
env:
MYSQL_ROOT_PASSWORD: my-secret-pw
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: nextcloud
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
postgres-service:
image: postgres:14
env:
POSTGRES_USER: nextcloud
POSTGRES_DB: nextcloud
POSTGRES_PASSWORD: nextcloud
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Set up php${{ matrix.php-versions }}
uses: shivammathur/setup-php@master
with:
php-version: ${{ matrix.php-versions }}
tools: composer:v1
extensions: ctype,curl,dom,gd,iconv,intl,json,mbstring,openssl,posix,sqlite,xml,zip,gmp
coverage: xdebug
- name: Checkout Nextcloud
run: git clone https://github.com/nextcloud/server.git --recursive --depth 1 -b ${{ matrix.nextcloud-versions }} nextcloud
- name: Install Nextcloud
run: php -f nextcloud/occ maintenance:install --database-host 127.0.0.1 --database-name nextcloud --database-user nextcloud --database-pass nextcloud --admin-user admin --admin-pass admin --database ${{ matrix.db }}
- name: Checkout Mail
uses: actions/checkout@master
with:
path: nextcloud/apps/mail
- name: Install dependencies
working-directory: nextcloud/apps/mail
run: composer install
- name: Install Mail
run: php -f nextcloud/occ app:enable mail
- name: Configure Nextcloud for testing
run: |
php -f nextcloud/occ config:system:set debug --type bool --value true
php -f nextcloud/occ config:system:set app.mail.verify-tls-peer --type bool --value false
- name: Run tests
working-directory: nextcloud/apps/mail
run: |
ss -tunlp
true | openssl s_client -crlf -connect 127.0.0.1:993
composer run test:integration
env:
XDEBUG_MODE: coverage
- name: Print debug logs
if: ${{ always() }}
run: cat nextcloud/data/horde_*.log
- name: Report coverage
uses: codecov/[email protected]
if: ${{ always() && matrix.db == 'mysql' }}
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./nextcloud/apps/mail/tests/clover.integration.xml
flags: integrationtests
fail_ci_if_error: true
frontend-unit-test:
runs-on: ubuntu-latest
name: Front-end unit tests
steps:
- uses: actions/checkout@master
- name: Set up Node
uses: actions/[email protected]
with:
node-version: 12.x
- name: npm install
run: npm install
- name: run tests
run: npm run test
env:
CI: true