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

github.com/nextcloud/announcementcenter.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2020-12-16 00:37:00 +0300
committerJoas Schilling <coding@schilljs.com>2020-12-16 00:45:06 +0300
commitc7d669002fc6a82399c9f24884dcaf91603e2cd8 (patch)
treef1c612b2abe6e659d9bf279fa6435110ed6ef45f /.github
parent995d264462484343bcfc6520bb80264f592203c4 (diff)
Copy phpunit github action from app-tutorial
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/phpunit.yml215
1 files changed, 215 insertions, 0 deletions
diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml
new file mode 100644
index 0000000..b002ea9
--- /dev/null
+++ b/.github/workflows/phpunit.yml
@@ -0,0 +1,215 @@
+name: PHPUnit
+
+on:
+ pull_request:
+ push:
+ branches:
+ - master
+ - stable*
+
+env:
+ APP_NAME: announcementcenter
+
+jobs:
+ php:
+ runs-on: ubuntu-latest
+
+ strategy:
+ # do not stop on another job's failure
+ fail-fast: false
+ matrix:
+ php-versions: ['7.4']
+ 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 }}
+
+ - name: Checkout submodules
+ shell: bash
+ run: |
+ auth_header="$(git config --local --get http.https://github.com/.extraheader)"
+ git submodule sync --recursive
+ git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
+
+ - 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
+ 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 }}
+ run: ./vendor/phpunit/phpunit/phpunit -c tests/phpunit.xml
+
+# - name: PHPUnit integration
+# working-directory: apps/${{ env.APP_NAME }}
+# run: ./vendor/phpunit/phpunit/phpunit -c phpunit.integration.xml
+
+ mysql:
+ runs-on: ubuntu-latest
+
+ strategy:
+ # do not stop on another job's failure
+ fail-fast: false
+ matrix:
+ php-versions: ['7.3', '7.4']
+ 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 }}
+
+ - name: Checkout submodules
+ shell: bash
+ run: |
+ auth_header="$(git config --local --get http.https://github.com/.extraheader)"
+ git submodule sync --recursive
+ git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
+
+ - 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
+ 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 }}
+ run: ./vendor/phpunit/phpunit/phpunit -c tests/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: ['7.4']
+ 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 }}
+
+ - name: Checkout submodules
+ shell: bash
+ run: |
+ auth_header="$(git config --local --get http.https://github.com/.extraheader)"
+ git submodule sync --recursive
+ git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
+
+ - 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
+ 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 }}
+ run: ./vendor/phpunit/phpunit/phpunit -c tests/phpunit.xml
+
+# - name: PHPUnit integration
+# working-directory: apps/${{ env.APP_NAME }}
+# run: ./vendor/phpunit/phpunit/phpunit -c phpunit.integration.xml