summaryrefslogtreecommitdiffstats
path: root/.github/workflows/api-php-tests.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/api-php-tests.yml')
-rw-r--r--.github/workflows/api-php-tests.yml61
1 files changed, 61 insertions, 0 deletions
diff --git a/.github/workflows/api-php-tests.yml b/.github/workflows/api-php-tests.yml
new file mode 100644
index 000000000..fa4d4a9dd
--- /dev/null
+++ b/.github/workflows/api-php-tests.yml
@@ -0,0 +1,61 @@
+name: PHP Tests
+on:
+ pull_request
+
+jobs:
+ php:
+ runs-on: ubuntu-latest
+ continue-on-error: ${{ matrix.experimental }}
+ name: "PHP: Nextcloud ${{ matrix.nextcloud }} - PHP ${{ matrix.php-versions }} - DB ${{ matrix.database }}"
+ strategy:
+ matrix:
+ php-versions: ['7.4']
+ nextcloud: ['stable21']
+ database: ['sqlite']
+ experimental: [false]
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php-versions }}
+ extensions: pdo_sqlite,pdo_mysql,pdo_pgsql,gd,zip
+ coverage: pcov
+
+ ### Back to normal setup
+ - name: Set up server non MySQL
+ uses: SMillerDev/nextcloud-actions/setup-nextcloud@main
+ with:
+ cron: true
+ version: ${{ matrix.nextcloud }}
+ database-type: ${{ matrix.database }}
+
+ - name: Prime app build
+ run: make
+
+ - name: Configure server with app
+ uses: SMillerDev/nextcloud-actions/setup-nextcloud-app@main
+ with:
+ app: 'news'
+ check-code: true
+
+ - name: Setup problem matchers for PHPUnit
+ run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
+
+ - name: Prep PHP tests
+ working-directory: ../server/apps/news
+ run: make php-test-dependencies
+ - name: PHPCS
+ working-directory: ../server/apps/news
+ run: make phpcs
+ - name: PHPStan
+ working-directory: ../server/apps/news
+ run: make phpstan
+ - name: Unittests
+ working-directory: ../server/apps/news
+ run: make unit-test
+ - name: Upload codecoverage
+ working-directory: ../server/apps/news
+ run: bash <(curl -s https://codecov.io/bash) -f build/php-unit.clover