Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/circles.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2021-07-07 10:23:30 +0300
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2021-07-07 10:49:11 +0300
commit9179c1f426ebdf8d2fae70d4df96e69ef4757288 (patch)
tree1435d4e77db02741079e29379797c15b448de30d /.github
parent0435b02a99e7bf0a6b435c00cc446adb2419ba1c (diff)
Move to github workflow
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/phpunit.yml202
1 files changed, 202 insertions, 0 deletions
diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml
new file mode 100644
index 00000000..fcfc65a9
--- /dev/null
+++ b/.github/workflows/phpunit.yml
@@ -0,0 +1,202 @@
+name: PHPUnit
+
+on:
+ pull_request:
+ push:
+ branches:
+ - master
+ - stable*
+
+env:
+ APP_NAME: circles
+
+jobs:
+ php:
+ runs-on: ubuntu-latest
+
+ strategy:
+ # do not stop on another job's failure
+ fail-fast: false
+ matrix:
+ php-versions: ["8.0"]
+ databases: ["sqlite"]
+ server-versions: ["master"]
+
+ name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
+
+ steps:
+ - name: Checkout server
+ uses: actions/checkout@v2
+ with:
+ repository: nextcloud/server
+ ref: ${{ matrix.server-versions }}
+ submodules: true
+
+ - name: Checkout app
+ uses: actions/checkout@v2
+ with:
+ path: apps/${{ env.APP_NAME }}
+
+ - name: Set up php ${{ matrix.php-versions }}
+ uses: shivammathur/setup-php@v1
+ 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 i
+
+ - 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
+ working-directory: apps/${{ env.APP_NAME }}/tests
+ run: ../vendor/phpunit/phpunit/phpunit --coverage-clover coverage.xml -c phpunit.xml
+
+ # - name: PHPUnit integration
+ # working-directory: apps/${{ env.APP_NAME }}
+ # run: ./vendor/phpunit/phpunit/phpunit -c phpunit.integration.xml
+
+ - name: Upload coverage
+ working-directory: apps/${{ env.APP_NAME }}/tests
+ 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: ["7.3", "7.4", "8.0"]
+ databases: ["mysql"]
+ server-versions: ["master"]
+
+ name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
+
+ services:
+ mysql:
+ image: mariadb
+ ports:
+ - 4444:3306/tcp
+ env:
+ MYSQL_ROOT_PASSWORD: rootpassword
+ options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 5
+
+ steps:
+ - name: Checkout server
+ uses: actions/checkout@v2
+ with:
+ repository: nextcloud/server
+ ref: ${{ matrix.server-versions }}
+ submodules: true
+
+ - name: Checkout app
+ uses: actions/checkout@v2
+ with:
+ path: apps/${{ env.APP_NAME }}
+
+ - name: Set up php ${{ matrix.php-versions }}
+ uses: shivammathur/setup-php@v1
+ 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 i
+
+ - 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 }}/tests
+ run: ../vendor/phpunit/phpunit/phpunit -c phpunit.xml
+
+ # - name: PHPUnit integration
+ # working-directory: apps/${{ env.APP_NAME }}
+ # run: ./vendor/phpunit/phpunit/phpunit -c phpunit.integration.xml
+
+ pgsql:
+ runs-on: ubuntu-latest
+
+ strategy:
+ # do not stop on another job's failure
+ fail-fast: false
+ matrix:
+ php-versions: ["8.0"]
+ databases: ["pgsql"]
+ server-versions: ["master"]
+
+ name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
+
+ services:
+ postgres:
+ image: postgres
+ 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@v2
+ with:
+ repository: nextcloud/server
+ ref: ${{ matrix.server-versions }}
+ submodules: true
+
+ - name: Checkout app
+ uses: actions/checkout@v2
+ with:
+ path: apps/${{ env.APP_NAME }}
+
+ - name: Set up php ${{ matrix.php-versions }}
+ uses: shivammathur/setup-php@v1
+ 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 i
+
+ - 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 }}/tests
+ run: ../vendor/phpunit/phpunit/phpunit -c phpunit.xml
+
+ # - name: PHPUnit integration
+ # working-directory: apps/${{ env.APP_NAME }}
+ # run: ./vendor/phpunit/phpunit/phpunit -c phpunit.integration.xml