You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2023/07/13 07:07:10 UTC
[incubator-opendal] 01/01: ci(services/webdav): Setup integration test for nextcloud
This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch add-nextcloud-test-for-webdav
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
commit afaeecf357fba1c1b9b9cac488d44ff1fbba6656
Author: Xuanwo <gi...@xuanwo.io>
AuthorDate: Thu Jul 13 15:06:45 2023 +0800
ci(services/webdav): Setup integration test for nextcloud
Signed-off-by: Xuanwo <gi...@xuanwo.io>
---
.github/workflows/service_test_webdav.yml | 59 +++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
diff --git a/.github/workflows/service_test_webdav.yml b/.github/workflows/service_test_webdav.yml
index 1d445c65f..2c40fa396 100644
--- a/.github/workflows/service_test_webdav.yml
+++ b/.github/workflows/service_test_webdav.yml
@@ -143,3 +143,62 @@ jobs:
env:
OPENDAL_WEBDAV_TEST: on
OPENDAL_WEBDAV_ENDPOINT: http://127.0.0.1:8081
+
+ nextcloud:
+ runs-on: ubuntu-latest
+
+ services:
+ db:
+ image: mysql:5.7
+ env:
+ MYSQL_ROOT_PASSWORD: password
+ MYSQL_DATABASE: nextcloud
+ MYSQL_USER: nextcloud
+ MYSQL_PASSWORD: nextcloud
+ options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=5
+
+ nextcloud:
+ image: nextcloud
+ ports:
+ - 8080:80
+ env:
+ MYSQL_HOST: db
+ MYSQL_PASSWORD: nextcloud
+ MYSQL_DATABASE: nextcloud
+ MYSQL_USER: nextcloud
+ NEXTCLOUD_ADMIN_USER: admin
+ NEXTCLOUD_ADMIN_PASSWORD: admin
+ options: --health-cmd="curl -f http://localhost" --health-interval=10s --health-timeout=5s --health-retries=5
+
+ steps:
+ - uses: actions/checkout@v3
+ - name: Setup Rust toolchain
+ uses: ./.github/actions/setup
+ with:
+ need-nextest: true
+
+ - name: Wait for MySQL
+ run: |
+ for i in {1..30}; do
+ if echo 'SELECT 1' | mysql -h localhost -P 3306 -u nextcloud -pnextcloud nextcloud &> /dev/null; then
+ echo "MySQL is up!"
+ break
+ fi
+ echo "Waiting for MySQL..."
+ sleep 1
+ done
+
+ - name: Check online
+ run: |
+ curl http://localhost:8080
+
+ - name: Test with redirect
+ shell: bash
+ working-directory: core
+ run: |
+ cargo nextest run webdav
+ env:
+ OPENDAL_WEBDAV_TEST: on
+ OPENDAL_WEBDAV_ENDPOINT: http://127.0.0.1:8080/remote.php/webdav/
+ OPENDAL_WEBDAV_USERNAME: admin
+ OPENDAL_WEBDAV_PASSWORD: admin