mirror of
https://github.com/nextcloud/server.git
synced 2026-06-25 00:20:33 -04:00
88 lines
2.5 KiB
YAML
88 lines
2.5 KiB
YAML
name: PHPUnit
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- master
|
|
- stable*
|
|
|
|
jobs:
|
|
phpunit-oci:
|
|
runs-on: ubuntu-20.04
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
php-versions: [ '7.3', '7.4', '8.0' ]
|
|
databases: [ 'oci' ]
|
|
|
|
name: php${{ matrix.php-versions }}-${{ matrix.databases }}
|
|
|
|
services:
|
|
oracle:
|
|
image: ghcr.io/gvenzl/oracle-xe:11
|
|
|
|
# Provide passwords and other environment variables to container
|
|
env:
|
|
ORACLE_RANDOM_PASSWORD: true
|
|
APP_USER: autotest
|
|
APP_USER_PASSWORD: owncloud
|
|
|
|
# Forward Oracle port
|
|
ports:
|
|
- 1521:1521/tcp
|
|
|
|
# Provide healthcheck script options for startup
|
|
options: >-
|
|
--health-cmd healthcheck.sh
|
|
--health-interval 10s
|
|
--health-timeout 5s
|
|
--health-retries 10
|
|
|
|
steps:
|
|
- name: Checkout server
|
|
uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
|
|
|
|
- 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: Set up php ${{ matrix.php-versions }}
|
|
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
|
|
with:
|
|
php-version: ${{ matrix.php-versions }}
|
|
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,oci8,openssl,pcntl,pdo_sqlite,posix,sqlite,xml,zip
|
|
tools: phpunit:9
|
|
coverage: none
|
|
|
|
- name: Set up Nextcloud
|
|
run: |
|
|
mkdir data
|
|
./occ maintenance:install --verbose --database=oci --database-name=XE --database-host=127.0.0.1 --database-port=1521 --database-user=autotest --database-pass=owncloud --admin-user admin --admin-pass admin
|
|
php -f index.php
|
|
|
|
- name: PHPUnit
|
|
working-directory: tests
|
|
run: phpunit --configuration phpunit-autotest.xml --group DB,SLOWDB
|
|
|
|
- name: Run repair steps
|
|
run: |
|
|
./occ maintenance:repair --include-expensive
|
|
|
|
summary:
|
|
permissions:
|
|
contents: none
|
|
runs-on: ubuntu-latest
|
|
needs: phpunit-oci
|
|
|
|
if: always()
|
|
|
|
name: phpunit-oci-summary
|
|
|
|
steps:
|
|
- name: Summary status
|
|
run: if ${{ needs.phpunit-oci.result != 'success' }}; then exit 1; fi
|