From 939dcb0e31fac68900c6d07816774bba7951be3e Mon Sep 17 00:00:00 2001 From: Manjusaka Date: Sun, 24 Dec 2023 22:16:05 +0800 Subject: [PATCH 1/5] ci: Support CI test for s3_read_on_wasm Signed-off-by: Manjusaka --- .github/workflows/edge_test.yml | 54 ++++++++++++++++++++++++++++ core/edge/s3_read_on_wasm/src/lib.rs | 4 +-- 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/.github/workflows/edge_test.yml b/.github/workflows/edge_test.yml index 1d89afccb0e5..d5c8107d8824 100644 --- a/.github/workflows/edge_test.yml +++ b/.github/workflows/edge_test.yml @@ -58,3 +58,57 @@ jobs: env: OPENDAL_FS_ROOT: /tmp/test_dir + test_wasm_action: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup Rust toolchain + uses: ./.github/actions/setup + + - name: Setup for wasm32 + run: | + rustup target add wasm32-unknown-unknown + + - name: Install Chrome Environment + run: | + wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - + echo "deb http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee -a /etc/apt/sources.list.d/google-chrome.list + sudo apt-get update -qqy + sudo apt-get -qqy install google-chrome-stable + CHROME_VERSION=$(google-chrome-stable --version) + CHROME_FULL_VERSION=${CHROME_VERSION%%.*} + CHROME_MAJOR_VERSION=${CHROME_FULL_VERSION//[!0-9]} + sudo rm /etc/apt/sources.list.d/google-chrome.list + export CHROMEDRIVER_VERSION=`curl -s https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROME_MAJOR_VERSION%%.*}` + curl -L -O "https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_VERSION}/chromedriver_linux64.zip" + unzip chromedriver_linux64.zip && chmod +x chromedriver && sudo mv chromedriver /usr/local/bin + export CHROMEDRIVER_VERSION=`curl -s https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROME_MAJOR_VERSION%%.*}` + curl -L -O "https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_VERSION}/chromedriver_linux64.zip" + unzip chromedriver_linux64.zip && chmod +x chromedriver && sudo mv chromedriver /usr/local/bin + chromedriver -version + which chromedriver + which google-chrome + + - name: Setup wasm-pack + run: | + cargo install wasm-pack + + - name: Setup MinIO Server + shell: bash + working-directory: fixtures/s3 + run: docker compose -f docker-compose-minio.yml up -d --wait + + - name: Setup test bucket + shell: bash + env: + AWS_ACCESS_KEY_ID: "minioadmin" + AWS_SECRET_ACCESS_KEY: "minioadmin" + AWS_EC2_METADATA_DISABLED: "true" + run: aws --endpoint-url http://127.0.0.1:9000/ s3 mb s3://test + + - name: Test wasm + working-directory: core/edge/s3_read_on_wasm + run: | + wasm-pack build --target web --out-name wasm --out-dir ./static \ No newline at end of file diff --git a/core/edge/s3_read_on_wasm/src/lib.rs b/core/edge/s3_read_on_wasm/src/lib.rs index cdb185a94cbc..4e8ea7f36bc6 100644 --- a/core/edge/s3_read_on_wasm/src/lib.rs +++ b/core/edge/s3_read_on_wasm/src/lib.rs @@ -22,10 +22,10 @@ use wasm_bindgen::prelude::*; #[wasm_bindgen] pub async fn hello_world() -> String { let mut cfg = S3::default(); - cfg.endpoint("http://127.0.0.1:9900"); + cfg.endpoint("http://127.0.0.1:9000"); cfg.access_key_id("minioadmin"); cfg.secret_access_key("minioadmin"); - cfg.bucket("opendal"); + cfg.bucket("test"); cfg.region("us-east-1"); let op = Operator::new(cfg).unwrap().finish(); From 7167873460a76608a710bd5e5f6a21ad49175dd4 Mon Sep 17 00:00:00 2001 From: Manjusaka Date: Sun, 24 Dec 2023 22:23:20 +0800 Subject: [PATCH 2/5] Update code Signed-off-by: Manjusaka --- .github/workflows/edge_test.yml | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/.github/workflows/edge_test.yml b/.github/workflows/edge_test.yml index d5c8107d8824..dc4e7a481e99 100644 --- a/.github/workflows/edge_test.yml +++ b/.github/workflows/edge_test.yml @@ -72,25 +72,11 @@ jobs: rustup target add wasm32-unknown-unknown - name: Install Chrome Environment - run: | - wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - - echo "deb http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee -a /etc/apt/sources.list.d/google-chrome.list - sudo apt-get update -qqy - sudo apt-get -qqy install google-chrome-stable - CHROME_VERSION=$(google-chrome-stable --version) - CHROME_FULL_VERSION=${CHROME_VERSION%%.*} - CHROME_MAJOR_VERSION=${CHROME_FULL_VERSION//[!0-9]} - sudo rm /etc/apt/sources.list.d/google-chrome.list - export CHROMEDRIVER_VERSION=`curl -s https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROME_MAJOR_VERSION%%.*}` - curl -L -O "https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_VERSION}/chromedriver_linux64.zip" - unzip chromedriver_linux64.zip && chmod +x chromedriver && sudo mv chromedriver /usr/local/bin - export CHROMEDRIVER_VERSION=`curl -s https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROME_MAJOR_VERSION%%.*}` - curl -L -O "https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_VERSION}/chromedriver_linux64.zip" - unzip chromedriver_linux64.zip && chmod +x chromedriver && sudo mv chromedriver /usr/local/bin - chromedriver -version - which chromedriver - which google-chrome - + uses: browser-actions/setup-chrome@v1 + with: + chrome-version: 120.0.6099.129 + - name: Setup for Chrome Driver + uses: nanasess/setup-chromedriver@v2 - name: Setup wasm-pack run: | cargo install wasm-pack From dc1bf7b54e8e51a893850d4ea9531d4eed5bc41c Mon Sep 17 00:00:00 2001 From: Manjusaka Date: Sun, 24 Dec 2023 23:19:22 +0800 Subject: [PATCH 3/5] Update workflow Signed-off-by: Manjusaka --- .github/workflows/edge_test.yml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/edge_test.yml b/.github/workflows/edge_test.yml index dc4e7a481e99..4cfb0fc0618d 100644 --- a/.github/workflows/edge_test.yml +++ b/.github/workflows/edge_test.yml @@ -72,11 +72,15 @@ jobs: rustup target add wasm32-unknown-unknown - name: Install Chrome Environment - uses: browser-actions/setup-chrome@v1 - with: - chrome-version: 120.0.6099.129 - - name: Setup for Chrome Driver - uses: nanasess/setup-chromedriver@v2 + run: | + mkdir -p /tmp/chrome + wget $(curl https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json | jq -r '.versions | sort_by(.version) | reverse | .[0] | .downloads.chrome | .[] | select(.platform == "linux64") | .url') + wget $(curl https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json | jq -r '.versions | sort_by(.version) | reverse | .[0] | .downloads.chromedriver | .[] | select(.platform == "linux64") | .url') + unzip chromedriver-linux64.zip + unzip chrome-linux64.zip + cp -r chrome-linux64/ /tmp/chrome/ + cp -r chromedriver-linux64 /tmp/chrome/chromedriver + - name: Setup wasm-pack run: | cargo install wasm-pack @@ -97,4 +101,5 @@ jobs: - name: Test wasm working-directory: core/edge/s3_read_on_wasm run: | + export PATH=$PATH:/tmp/chrome/chrome-linux64/:/tmp/chrome/chromedriver-linux64/ wasm-pack build --target web --out-name wasm --out-dir ./static \ No newline at end of file From 5a64df82564087c3c1a996d61b77b9ce25f06d2e Mon Sep 17 00:00:00 2001 From: Manjusaka Date: Sun, 24 Dec 2023 23:23:32 +0800 Subject: [PATCH 4/5] Update workflow Signed-off-by: Manjusaka --- .github/workflows/edge_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/edge_test.yml b/.github/workflows/edge_test.yml index 4cfb0fc0618d..1c78134355e3 100644 --- a/.github/workflows/edge_test.yml +++ b/.github/workflows/edge_test.yml @@ -102,4 +102,4 @@ jobs: working-directory: core/edge/s3_read_on_wasm run: | export PATH=$PATH:/tmp/chrome/chrome-linux64/:/tmp/chrome/chromedriver-linux64/ - wasm-pack build --target web --out-name wasm --out-dir ./static \ No newline at end of file + wasm-pack test --chrome --headless \ No newline at end of file From 2a7e1c647f11c8d6c070ebd94e72313f3bda06c9 Mon Sep 17 00:00:00 2001 From: Manjusaka Date: Mon, 25 Dec 2023 00:19:34 +0800 Subject: [PATCH 5/5] Update workflow Signed-off-by: Manjusaka --- .github/workflows/edge_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/edge_test.yml b/.github/workflows/edge_test.yml index 1c78134355e3..c15c3827a892 100644 --- a/.github/workflows/edge_test.yml +++ b/.github/workflows/edge_test.yml @@ -58,7 +58,7 @@ jobs: env: OPENDAL_FS_ROOT: /tmp/test_dir - test_wasm_action: + test_s3_read_on_wasm: runs-on: ubuntu-latest steps: