diff options
author | Julius Härtl <jus@bitgrid.net> | 2021-10-14 18:51:58 +0200 |
---|---|---|
committer | Julius Härtl (Rebase PR Action) <github@juliushaertl.de> | 2023-03-06 22:46:07 +0000 |
commit | b59cf4c1d49835f9a6eedfdfda2b96f40c6a9ba6 (patch) | |
tree | c60d2961a2dadd1d08121a53b83cb58bf5398c0f /.github | |
parent | 394ad988c7157c0f576b78d591e48e330fe6ca7f (diff) | |
download | nextcloud-server-b59cf4c1d49835f9a6eedfdfda2b96f40c6a9ba6.tar.gz nextcloud-server-b59cf4c1d49835f9a6eedfdfda2b96f40c6a9ba6.zip |
Run webdav related integration tests on github actions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/s3-primary-integration.yml | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/.github/workflows/s3-primary-integration.yml b/.github/workflows/s3-primary-integration.yml new file mode 100644 index 00000000000..5785cc858b4 --- /dev/null +++ b/.github/workflows/s3-primary-integration.yml @@ -0,0 +1,84 @@ +name: S3 primary storage integration tests +on: + pull_request: + push: + branches: + - master + - stable* + +jobs: + s3-primary-integration-tests-minio: + runs-on: ubuntu-20.04 + + 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@v3 + with: + submodules: true + + - name: Set up php ${{ matrix.php-versions }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-versions }} + tools: phpunit:9 + 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 |