aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/phpunit-oci.yml
diff options
context:
space:
mode:
authorFerdinand Thiessen <opensource@fthiessen.de>2023-10-19 16:32:48 +0200
committerFerdinand Thiessen <opensource@fthiessen.de>2023-10-27 13:50:04 +0200
commitcbefae7fd9bf1076a8e882826f3887ab527337c8 (patch)
tree2dfc7fcad91b59f43e2043e082a603cc5f5cd710 /.github/workflows/phpunit-oci.yml
parent5665838ef4e042ddceb32a762cf225889a4c08a6 (diff)
downloadnextcloud-server-cbefae7fd9bf1076a8e882826f3887ab527337c8.tar.gz
nextcloud-server-cbefae7fd9bf1076a8e882826f3887ab527337c8.zip
fix(tests): Only run tests on CI that are needed
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Diffstat (limited to '.github/workflows/phpunit-oci.yml')
-rw-r--r--.github/workflows/phpunit-oci.yml109
1 files changed, 109 insertions, 0 deletions
diff --git a/.github/workflows/phpunit-oci.yml b/.github/workflows/phpunit-oci.yml
new file mode 100644
index 00000000000..2c90b992cd0
--- /dev/null
+++ b/.github/workflows/phpunit-oci.yml
@@ -0,0 +1,109 @@
+name: PHPUnit oci
+
+on:
+ pull_request:
+
+permissions:
+ contents: read
+
+concurrency:
+ group: phpunit-oci-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
+jobs:
+ changes:
+ runs-on: ubuntu-latest
+
+ outputs:
+ src: ${{ steps.changes.outputs.src}}
+
+ steps:
+ - uses: dorny/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
+ id: changes
+ continue-on-error: true
+ with:
+ filters: |
+ src:
+ - '.github/workflows/**'
+ - '3rdparty/**'
+ - '**/lib/**'
+ - '**/tests/**'
+ - '**/vendor-bin/**'
+ - '.php-cs-fixer.dist.php'
+ - 'composer.json'
+ - 'composer.lock'
+ - '**.php'
+
+ phpunit-oci:
+ runs-on: ubuntu-20.04
+
+ if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
+
+ strategy:
+ matrix:
+ php-versions: ['8.0', '8.1', '8.2']
+
+ 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@b4ffde65f46336ab88eb53be808477a3936bae11
+ with:
+ submodules: true
+
+ - name: Set up php ${{ matrix.php-versions }}
+ uses: shivammathur/setup-php@c5fc0d8281aba02c7fda07d3a70cc5371548067d #v2.25.2
+ 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
+ coverage: none
+ ini-file: development
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Set up Nextcloud
+ run: |
+ composer install
+ 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
+ run: composer run test:db
+
+ - name: Run repair steps
+ run: |
+ ./occ maintenance:repair --include-expensive
+
+ summary:
+ permissions:
+ contents: none
+ runs-on: ubuntu-latest
+ needs: [changes, phpunit-oci]
+
+ if: always()
+
+ name: phpunit-oci-summary
+
+ steps:
+ - name: Summary status
+ run: if ${{ needs.changes.outputs.src != 'false' && needs.phpunit-oci.result != 'success' }}; then exit 1; fi