mirror of
https://github.com/nextcloud/server.git
synced 2026-04-21 14:23:17 -04:00
This means we can all run the same version. And when switching to stableX it can pull the corresponding version too. Also local dev envs and CI run the same phpunit. Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
85 lines
2.9 KiB
YAML
85 lines
2.9 KiB
YAML
name: S3 primary storage integration tests
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- master
|
|
- stable*
|
|
|
|
jobs:
|
|
s3-primary-integration-tests-minio:
|
|
runs-on: ubuntu-20.04
|
|
|
|
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
|
|
|
|
strategy:
|
|
# do not stop on another job's failure
|
|
fail-fast: false
|
|
matrix:
|
|
php-versions: ['8.0']
|
|
key: ['objectstore', 'objectstore_multibucket']
|
|
|
|
name: php${{ matrix.php-versions }}-${{ matrix.key }}-minio
|
|
|
|
services:
|
|
redis:
|
|
image: redis
|
|
ports:
|
|
- "6379:6379"
|
|
minio:
|
|
env:
|
|
MINIO_ACCESS_KEY: minio
|
|
MINIO_SECRET_KEY: minio123
|
|
image: bitnami/minio:2021.12.29
|
|
ports:
|
|
- "9000:9000"
|
|
|
|
steps:
|
|
- name: Checkout server
|
|
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac
|
|
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: mbstring, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, redis
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Wait for S3
|
|
run: |
|
|
sleep 10
|
|
curl -f -m 1 --retry-connrefused --retry 10 --retry-delay 10 http://localhost:9000/minio/health/ready
|
|
|
|
- name: Set up Nextcloud
|
|
run: |
|
|
mkdir data
|
|
echo '<?php $CONFIG=["${{ matrix.key }}" => ["class" => "OC\Files\ObjectStore\S3", "arguments" => ["bucket" => "nextcloud", "autocreate" => true, "key" => "minio", "secret" => "minio123", "hostname" => "localhost", "port" => 9000, "use_ssl" => false, "use_path_style" => true, "uploadPartSize" => 52428800]]];' > config/config.php
|
|
echo '<?php $CONFIG=["redis" => ["host" => "localhost", "port" => 6379], "memcache.local" => "\OC\Memcache\Redis", "memcache.distributed" => "\OC\Memcache\Redis"];' > config/redis.config.php
|
|
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
|
|
php -f index.php
|
|
|
|
- name: Integration
|
|
run: |
|
|
cd build/integration
|
|
bash run.sh --tags "~@failure-s3" features/webdav-related.feature
|
|
|
|
- name: S3 logs
|
|
if: always()
|
|
run: |
|
|
cat data/nextcloud.log
|
|
docker ps -a
|
|
docker ps -aq | while read container ; do IMAGE=$(docker inspect --format='{{.Config.Image}}' $container); echo $IMAGE; docker logs $container; echo "\n\n" ; done
|
|
|
|
|
|
s3-primary-integration-summary:
|
|
runs-on: ubuntu-latest
|
|
needs: [s3-primary-integration-tests-minio]
|
|
|
|
if: always()
|
|
|
|
steps:
|
|
- name: Summary status
|
|
run: if ${{ needs.s3-primary-integration-tests-minio.result != 'success' }}; then exit 1; fi
|