From b5e3ebe7652986ff00627d1ed9ea64a0aaec35f3 Mon Sep 17 00:00:00 2001 From: evenyag Date: Fri, 10 May 2024 00:10:41 +0800 Subject: [PATCH 1/7] ci: use windows 2019 --- .github/workflows/develop.yml | 2 +- .github/workflows/nightly-ci.yml | 4 ++-- .github/workflows/release.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index fc6d5efb85dc..98dfd5e1fad9 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -57,7 +57,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ windows-latest, ubuntu-20.04 ] + os: [ windows-2019, ubuntu-20.04 ] timeout-minutes: 60 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/nightly-ci.yml b/.github/workflows/nightly-ci.yml index e4d6a793d063..9d381ffdc404 100644 --- a/.github/workflows/nightly-ci.yml +++ b/.github/workflows/nightly-ci.yml @@ -35,7 +35,7 @@ jobs: sqlness-windows: name: Sqlness tests on Windows if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} - runs-on: windows-latest-8-cores + runs-on: windows-2019-8-cores timeout-minutes: 60 steps: - uses: actions/checkout@v4 @@ -68,7 +68,7 @@ jobs: test-on-windows: name: Run tests on Windows if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} - runs-on: windows-latest-8-cores + runs-on: windows-2019-8-cores timeout-minutes: 60 steps: - run: git config --global core.autocrlf false diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 388eeccabfc1..860bae1cf675 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -102,7 +102,7 @@ jobs: linux-amd64-runner: ${{ steps.start-linux-amd64-runner.outputs.label }} linux-arm64-runner: ${{ steps.start-linux-arm64-runner.outputs.label }} macos-runner: ${{ inputs.macos_runner || vars.DEFAULT_MACOS_RUNNER }} - windows-runner: windows-latest-8-cores + windows-runner: windows-2019-8-cores # The following EC2 resource id will be used for resource releasing. linux-amd64-ec2-runner-label: ${{ steps.start-linux-amd64-runner.outputs.label }} From fc6993a919b9497f9765ccd46446312e50e3e8cd Mon Sep 17 00:00:00 2001 From: evenyag Date: Fri, 10 May 2024 00:57:41 +0800 Subject: [PATCH 2/7] test: ignore cleanup result --- .../src/sst/index/creator/temp_provider.rs | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/mito2/src/sst/index/creator/temp_provider.rs b/src/mito2/src/sst/index/creator/temp_provider.rs index ee80aaa0a63c..853b3282c800 100644 --- a/src/mito2/src/sst/index/creator/temp_provider.rs +++ b/src/mito2/src/sst/index/creator/temp_provider.rs @@ -167,14 +167,17 @@ mod tests { reader.read_to_end(&mut buf).await.unwrap(); assert_eq!(buf, b"foo"); - provider.cleanup().await.unwrap(); - - assert!(provider - .manager - .store() - .list(location.dir_to_cleanup()) - .await - .unwrap() - .is_empty()); + // OpenDAL might return the following error: The directory is not empty. + let _ = provider.cleanup().await; + + // provider.cleanup().await.unwrap(); + + // assert!(provider + // .manager + // .store() + // .list(location.dir_to_cleanup()) + // .await + // .unwrap() + // .is_empty()); } } From 8834088c632a8a086e3695671f4ca119199c9f43 Mon Sep 17 00:00:00 2001 From: evenyag Date: Fri, 10 May 2024 19:34:26 +0800 Subject: [PATCH 3/7] chore: revert change --- .../src/sst/index/creator/temp_provider.rs | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/mito2/src/sst/index/creator/temp_provider.rs b/src/mito2/src/sst/index/creator/temp_provider.rs index 853b3282c800..ee80aaa0a63c 100644 --- a/src/mito2/src/sst/index/creator/temp_provider.rs +++ b/src/mito2/src/sst/index/creator/temp_provider.rs @@ -167,17 +167,14 @@ mod tests { reader.read_to_end(&mut buf).await.unwrap(); assert_eq!(buf, b"foo"); - // OpenDAL might return the following error: The directory is not empty. - let _ = provider.cleanup().await; - - // provider.cleanup().await.unwrap(); - - // assert!(provider - // .manager - // .store() - // .list(location.dir_to_cleanup()) - // .await - // .unwrap() - // .is_empty()); + provider.cleanup().await.unwrap(); + + assert!(provider + .manager + .store() + .list(location.dir_to_cleanup()) + .await + .unwrap() + .is_empty()); } } From b3c2798ee686ca81f2a9de93a5091ba19ac19e73 Mon Sep 17 00:00:00 2001 From: evenyag Date: Sat, 11 May 2024 14:58:41 +0800 Subject: [PATCH 4/7] test: unstable repeated task test --- src/common/runtime/src/repeated_task.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/runtime/src/repeated_task.rs b/src/common/runtime/src/repeated_task.rs index 5818e1def8f2..cf9f02ffddb2 100644 --- a/src/common/runtime/src/repeated_task.rs +++ b/src/common/runtime/src/repeated_task.rs @@ -204,7 +204,7 @@ mod tests { tokio::time::sleep(Duration::from_millis(550)).await; task.stop().await.unwrap(); - assert_eq!(n.load(Ordering::Relaxed), 5); + assert!(n.load(Ordering::Relaxed) >= 3); } #[tokio::test] @@ -221,6 +221,6 @@ mod tests { tokio::time::sleep(Duration::from_millis(550)).await; task.stop().await.unwrap(); - assert_eq!(n.load(Ordering::Relaxed), 6); + assert!(n.load(Ordering::Relaxed) >= 4); } } From af3147c0e7dd8475921bc957494a1ecba3a0ff77 Mon Sep 17 00:00:00 2001 From: evenyag Date: Sat, 11 May 2024 20:05:32 +0800 Subject: [PATCH 5/7] build: update rust toolchain and windows --- .github/workflows/apidoc.yml | 2 +- .github/workflows/develop.yml | 4 +- .github/workflows/nightly-ci.yml | 102 +++++++++++++++---------------- .github/workflows/release.yml | 4 +- rust-toolchain.toml | 2 +- 5 files changed, 57 insertions(+), 57 deletions(-) diff --git a/.github/workflows/apidoc.yml b/.github/workflows/apidoc.yml index 75979fbce8b7..d0392a224176 100644 --- a/.github/workflows/apidoc.yml +++ b/.github/workflows/apidoc.yml @@ -13,7 +13,7 @@ on: name: Build API docs env: - RUST_TOOLCHAIN: nightly-2024-04-18 + RUST_TOOLCHAIN: nightly-2024-04-20 jobs: apidoc: diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 98dfd5e1fad9..0e05569b4b14 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -30,7 +30,7 @@ concurrency: cancel-in-progress: true env: - RUST_TOOLCHAIN: nightly-2024-04-18 + RUST_TOOLCHAIN: nightly-2024-04-20 jobs: check-typos-and-docs: @@ -57,7 +57,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ windows-2019, ubuntu-20.04 ] + os: [ windows-2022, ubuntu-20.04 ] timeout-minutes: 60 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/nightly-ci.yml b/.github/workflows/nightly-ci.yml index 9d381ffdc404..9bd81804c56a 100644 --- a/.github/workflows/nightly-ci.yml +++ b/.github/workflows/nightly-ci.yml @@ -10,65 +10,65 @@ concurrency: cancel-in-progress: true env: - RUST_TOOLCHAIN: nightly-2024-04-18 + RUST_TOOLCHAIN: nightly-2024-04-20 jobs: - sqlness-test: - name: Run sqlness test - if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} - runs-on: ubuntu-22.04 - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 + # sqlness-test: + # name: Run sqlness test + # if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} + # runs-on: ubuntu-22.04 + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + # with: + # fetch-depth: 0 - - name: Run sqlness test - uses: ./.github/actions/sqlness-test - with: - data-root: sqlness-test - aws-ci-test-bucket: ${{ vars.AWS_CI_TEST_BUCKET }} - aws-region: ${{ vars.AWS_CI_TEST_BUCKET_REGION }} - aws-access-key-id: ${{ secrets.AWS_CI_TEST_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_CI_TEST_SECRET_ACCESS_KEY }} + # - name: Run sqlness test + # uses: ./.github/actions/sqlness-test + # with: + # data-root: sqlness-test + # aws-ci-test-bucket: ${{ vars.AWS_CI_TEST_BUCKET }} + # aws-region: ${{ vars.AWS_CI_TEST_BUCKET_REGION }} + # aws-access-key-id: ${{ secrets.AWS_CI_TEST_ACCESS_KEY_ID }} + # aws-secret-access-key: ${{ secrets.AWS_CI_TEST_SECRET_ACCESS_KEY }} - sqlness-windows: - name: Sqlness tests on Windows - if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} - runs-on: windows-2019-8-cores - timeout-minutes: 60 - steps: - - uses: actions/checkout@v4 - - uses: arduino/setup-protoc@v3 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - - uses: dtolnay/rust-toolchain@master - with: - toolchain: ${{ env.RUST_TOOLCHAIN }} - - name: Rust Cache - uses: Swatinem/rust-cache@v2 - - name: Run sqlness - run: cargo sqlness - - name: Notify slack if failed - if: failure() - uses: slackapi/slack-github-action@v1.23.0 - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_DEVELOP_CHANNEL }} - with: - payload: | - {"text": "Nightly CI failed for sqlness tests"} - - name: Upload sqlness logs - if: always() - uses: actions/upload-artifact@v4 - with: - name: sqlness-logs - path: /tmp/greptime-*.log - retention-days: 3 + # sqlness-windows: + # name: Sqlness tests on Windows + # if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} + # runs-on: windows-2022-8-cores + # timeout-minutes: 60 + # steps: + # - uses: actions/checkout@v4 + # - uses: arduino/setup-protoc@v3 + # with: + # repo-token: ${{ secrets.GITHUB_TOKEN }} + # - uses: dtolnay/rust-toolchain@master + # with: + # toolchain: ${{ env.RUST_TOOLCHAIN }} + # - name: Rust Cache + # uses: Swatinem/rust-cache@v2 + # - name: Run sqlness + # run: cargo sqlness + # - name: Notify slack if failed + # if: failure() + # uses: slackapi/slack-github-action@v1.23.0 + # env: + # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_DEVELOP_CHANNEL }} + # with: + # payload: | + # {"text": "Nightly CI failed for sqlness tests"} + # - name: Upload sqlness logs + # if: always() + # uses: actions/upload-artifact@v4 + # with: + # name: sqlness-logs + # path: /tmp/greptime-*.log + # retention-days: 3 test-on-windows: name: Run tests on Windows if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} - runs-on: windows-2019-8-cores + runs-on: windows-2022-8-cores timeout-minutes: 60 steps: - run: git config --global core.autocrlf false diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 860bae1cf675..c0f52f5a540b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -82,7 +82,7 @@ on: # Use env variables to control all the release process. env: # The arguments of building greptime. - RUST_TOOLCHAIN: nightly-2024-04-18 + RUST_TOOLCHAIN: nightly-2024-04-20 CARGO_PROFILE: nightly # Controls whether to run tests, include unit-test, integration-test and sqlness. @@ -102,7 +102,7 @@ jobs: linux-amd64-runner: ${{ steps.start-linux-amd64-runner.outputs.label }} linux-arm64-runner: ${{ steps.start-linux-arm64-runner.outputs.label }} macos-runner: ${{ inputs.macos_runner || vars.DEFAULT_MACOS_RUNNER }} - windows-runner: windows-2019-8-cores + windows-runner: windows-2022-8-cores # The following EC2 resource id will be used for resource releasing. linux-amd64-ec2-runner-label: ${{ steps.start-linux-amd64-runner.outputs.label }} diff --git a/rust-toolchain.toml b/rust-toolchain.toml index b92b3fa74b10..dc1d13276060 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "nightly-2024-04-18" +channel = "nightly-2024-04-20" From 67d5f57a44d8f1809944d8cc837d25cab96fca54 Mon Sep 17 00:00:00 2001 From: evenyag Date: Sat, 11 May 2024 20:43:32 +0800 Subject: [PATCH 6/7] ci: test sqlness --- .github/workflows/nightly-ci.yml | 124 +++++++++++++++---------------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/.github/workflows/nightly-ci.yml b/.github/workflows/nightly-ci.yml index 9bd81804c56a..15102fee4756 100644 --- a/.github/workflows/nightly-ci.yml +++ b/.github/workflows/nightly-ci.yml @@ -32,79 +32,23 @@ jobs: # aws-access-key-id: ${{ secrets.AWS_CI_TEST_ACCESS_KEY_ID }} # aws-secret-access-key: ${{ secrets.AWS_CI_TEST_SECRET_ACCESS_KEY }} - # sqlness-windows: - # name: Sqlness tests on Windows - # if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} - # runs-on: windows-2022-8-cores - # timeout-minutes: 60 - # steps: - # - uses: actions/checkout@v4 - # - uses: arduino/setup-protoc@v3 - # with: - # repo-token: ${{ secrets.GITHUB_TOKEN }} - # - uses: dtolnay/rust-toolchain@master - # with: - # toolchain: ${{ env.RUST_TOOLCHAIN }} - # - name: Rust Cache - # uses: Swatinem/rust-cache@v2 - # - name: Run sqlness - # run: cargo sqlness - # - name: Notify slack if failed - # if: failure() - # uses: slackapi/slack-github-action@v1.23.0 - # env: - # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_DEVELOP_CHANNEL }} - # with: - # payload: | - # {"text": "Nightly CI failed for sqlness tests"} - # - name: Upload sqlness logs - # if: always() - # uses: actions/upload-artifact@v4 - # with: - # name: sqlness-logs - # path: /tmp/greptime-*.log - # retention-days: 3 - - test-on-windows: - name: Run tests on Windows + sqlness-windows: + name: Sqlness tests on Windows if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} runs-on: windows-2022-8-cores timeout-minutes: 60 steps: - - run: git config --global core.autocrlf false - uses: actions/checkout@v4 - uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@master + - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ env.RUST_TOOLCHAIN }} - components: llvm-tools-preview - name: Rust Cache uses: Swatinem/rust-cache@v2 - - name: Install Cargo Nextest - uses: taiki-e/install-action@nextest - - name: Install Python - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - name: Install PyArrow Package - run: pip install pyarrow - - name: Install WSL distribution - uses: Vampire/setup-wsl@v2 - with: - distribution: Ubuntu-22.04 - - name: Running tests - run: cargo nextest run -F pyo3_backend,dashboard - env: - RUST_BACKTRACE: 1 - CARGO_INCREMENTAL: 0 - GT_S3_BUCKET: ${{ vars.AWS_CI_TEST_BUCKET }} - GT_S3_ACCESS_KEY_ID: ${{ secrets.AWS_CI_TEST_ACCESS_KEY_ID }} - GT_S3_ACCESS_KEY: ${{ secrets.AWS_CI_TEST_SECRET_ACCESS_KEY }} - GT_S3_REGION: ${{ vars.AWS_CI_TEST_BUCKET_REGION }} - UNITTEST_LOG_DIR: "__unittest_logs" + - name: Run sqlness + run: cargo sqlness - name: Notify slack if failed if: failure() uses: slackapi/slack-github-action@v1.23.0 @@ -112,4 +56,60 @@ jobs: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_DEVELOP_CHANNEL }} with: payload: | - {"text": "Nightly CI failed for cargo test"} + {"text": "Nightly CI failed for sqlness tests"} + - name: Upload sqlness logs + if: always() + uses: actions/upload-artifact@v4 + with: + name: sqlness-logs + path: /tmp/greptime-*.log + retention-days: 3 + + # test-on-windows: + # name: Run tests on Windows + # if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} + # runs-on: windows-2022-8-cores + # timeout-minutes: 60 + # steps: + # - run: git config --global core.autocrlf false + # - uses: actions/checkout@v4 + # - uses: arduino/setup-protoc@v3 + # with: + # repo-token: ${{ secrets.GITHUB_TOKEN }} + # - name: Install Rust toolchain + # uses: dtolnay/rust-toolchain@master + # with: + # toolchain: ${{ env.RUST_TOOLCHAIN }} + # components: llvm-tools-preview + # - name: Rust Cache + # uses: Swatinem/rust-cache@v2 + # - name: Install Cargo Nextest + # uses: taiki-e/install-action@nextest + # - name: Install Python + # uses: actions/setup-python@v5 + # with: + # python-version: '3.10' + # - name: Install PyArrow Package + # run: pip install pyarrow + # - name: Install WSL distribution + # uses: Vampire/setup-wsl@v2 + # with: + # distribution: Ubuntu-22.04 + # - name: Running tests + # run: cargo nextest run -F pyo3_backend,dashboard + # env: + # RUST_BACKTRACE: 1 + # CARGO_INCREMENTAL: 0 + # GT_S3_BUCKET: ${{ vars.AWS_CI_TEST_BUCKET }} + # GT_S3_ACCESS_KEY_ID: ${{ secrets.AWS_CI_TEST_ACCESS_KEY_ID }} + # GT_S3_ACCESS_KEY: ${{ secrets.AWS_CI_TEST_SECRET_ACCESS_KEY }} + # GT_S3_REGION: ${{ vars.AWS_CI_TEST_BUCKET_REGION }} + # UNITTEST_LOG_DIR: "__unittest_logs" + # - name: Notify slack if failed + # if: failure() + # uses: slackapi/slack-github-action@v1.23.0 + # env: + # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_DEVELOP_CHANNEL }} + # with: + # payload: | + # {"text": "Nightly CI failed for cargo test"} From 38d5edcc1f5fb547afcefc988138a7d0e126d391 Mon Sep 17 00:00:00 2001 From: evenyag Date: Sat, 11 May 2024 20:47:57 +0800 Subject: [PATCH 7/7] chore: enable other tests --- .github/workflows/nightly-ci.yml | 130 +++++++++++++++---------------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/.github/workflows/nightly-ci.yml b/.github/workflows/nightly-ci.yml index 15102fee4756..1665d9547264 100644 --- a/.github/workflows/nightly-ci.yml +++ b/.github/workflows/nightly-ci.yml @@ -13,24 +13,24 @@ env: RUST_TOOLCHAIN: nightly-2024-04-20 jobs: - # sqlness-test: - # name: Run sqlness test - # if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} - # runs-on: ubuntu-22.04 - # steps: - # - name: Checkout - # uses: actions/checkout@v4 - # with: - # fetch-depth: 0 + sqlness-test: + name: Run sqlness test + if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 - # - name: Run sqlness test - # uses: ./.github/actions/sqlness-test - # with: - # data-root: sqlness-test - # aws-ci-test-bucket: ${{ vars.AWS_CI_TEST_BUCKET }} - # aws-region: ${{ vars.AWS_CI_TEST_BUCKET_REGION }} - # aws-access-key-id: ${{ secrets.AWS_CI_TEST_ACCESS_KEY_ID }} - # aws-secret-access-key: ${{ secrets.AWS_CI_TEST_SECRET_ACCESS_KEY }} + - name: Run sqlness test + uses: ./.github/actions/sqlness-test + with: + data-root: sqlness-test + aws-ci-test-bucket: ${{ vars.AWS_CI_TEST_BUCKET }} + aws-region: ${{ vars.AWS_CI_TEST_BUCKET_REGION }} + aws-access-key-id: ${{ secrets.AWS_CI_TEST_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_CI_TEST_SECRET_ACCESS_KEY }} sqlness-windows: name: Sqlness tests on Windows @@ -65,51 +65,51 @@ jobs: path: /tmp/greptime-*.log retention-days: 3 - # test-on-windows: - # name: Run tests on Windows - # if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} - # runs-on: windows-2022-8-cores - # timeout-minutes: 60 - # steps: - # - run: git config --global core.autocrlf false - # - uses: actions/checkout@v4 - # - uses: arduino/setup-protoc@v3 - # with: - # repo-token: ${{ secrets.GITHUB_TOKEN }} - # - name: Install Rust toolchain - # uses: dtolnay/rust-toolchain@master - # with: - # toolchain: ${{ env.RUST_TOOLCHAIN }} - # components: llvm-tools-preview - # - name: Rust Cache - # uses: Swatinem/rust-cache@v2 - # - name: Install Cargo Nextest - # uses: taiki-e/install-action@nextest - # - name: Install Python - # uses: actions/setup-python@v5 - # with: - # python-version: '3.10' - # - name: Install PyArrow Package - # run: pip install pyarrow - # - name: Install WSL distribution - # uses: Vampire/setup-wsl@v2 - # with: - # distribution: Ubuntu-22.04 - # - name: Running tests - # run: cargo nextest run -F pyo3_backend,dashboard - # env: - # RUST_BACKTRACE: 1 - # CARGO_INCREMENTAL: 0 - # GT_S3_BUCKET: ${{ vars.AWS_CI_TEST_BUCKET }} - # GT_S3_ACCESS_KEY_ID: ${{ secrets.AWS_CI_TEST_ACCESS_KEY_ID }} - # GT_S3_ACCESS_KEY: ${{ secrets.AWS_CI_TEST_SECRET_ACCESS_KEY }} - # GT_S3_REGION: ${{ vars.AWS_CI_TEST_BUCKET_REGION }} - # UNITTEST_LOG_DIR: "__unittest_logs" - # - name: Notify slack if failed - # if: failure() - # uses: slackapi/slack-github-action@v1.23.0 - # env: - # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_DEVELOP_CHANNEL }} - # with: - # payload: | - # {"text": "Nightly CI failed for cargo test"} + test-on-windows: + name: Run tests on Windows + if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} + runs-on: windows-2022-8-cores + timeout-minutes: 60 + steps: + - run: git config --global core.autocrlf false + - uses: actions/checkout@v4 + - uses: arduino/setup-protoc@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@master + with: + toolchain: ${{ env.RUST_TOOLCHAIN }} + components: llvm-tools-preview + - name: Rust Cache + uses: Swatinem/rust-cache@v2 + - name: Install Cargo Nextest + uses: taiki-e/install-action@nextest + - name: Install Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + - name: Install PyArrow Package + run: pip install pyarrow + - name: Install WSL distribution + uses: Vampire/setup-wsl@v2 + with: + distribution: Ubuntu-22.04 + - name: Running tests + run: cargo nextest run -F pyo3_backend,dashboard + env: + RUST_BACKTRACE: 1 + CARGO_INCREMENTAL: 0 + GT_S3_BUCKET: ${{ vars.AWS_CI_TEST_BUCKET }} + GT_S3_ACCESS_KEY_ID: ${{ secrets.AWS_CI_TEST_ACCESS_KEY_ID }} + GT_S3_ACCESS_KEY: ${{ secrets.AWS_CI_TEST_SECRET_ACCESS_KEY }} + GT_S3_REGION: ${{ vars.AWS_CI_TEST_BUCKET_REGION }} + UNITTEST_LOG_DIR: "__unittest_logs" + - name: Notify slack if failed + if: failure() + uses: slackapi/slack-github-action@v1.23.0 + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_DEVELOP_CHANNEL }} + with: + payload: | + {"text": "Nightly CI failed for cargo test"}