1
0
Fork 0
Nextcloud-News/.github/workflows/api-php-tests.yml

68 lines
2.0 KiB
YAML

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: ['8.1']
nextcloud: ['stable26']
database: ['sqlite']
experimental: [false]
codecoverage: [false]
include:
- php-versions: 8.0
nextcloud: stable25
database: sqlite
experimental: false
codecoverage: true
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2 # https://github.com/codecov/codecov-action/issues/190#issuecomment-790729633
- 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: false
- 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: Unittests
working-directory: ../server/apps/news
run: make unit-test
env:
CODECOVERAGE: ${{ matrix.codecoverage }}
- name: Upload codecoverage
if: ${{ matrix.codecoverage }}
working-directory: ../server/apps/news
run: bash <(curl -s https://codecov.io/bash) -f build/php-unit.clover -N ${{ github.sha }}