Skip to content

Add process discovery and global server management #106

Add process discovery and global server management

Add process discovery and global server management #106

name: Cloud Integration
on:
workflow_dispatch:
schedule:
- cron: "0 3 * * 1-5"
pull_request:
paths:
- "src/**"
- "tests/**"
- "Cargo.toml"
- "Cargo.lock"
permissions:
contents: read
concurrency:
group: cloud-integration-${{ github.ref }}
cancel-in-progress: false
jobs:
cloud-integration:
name: Cloud integration tests
runs-on: ubuntu-latest
environment: cloud-integration
env:
CLICKHOUSE_CLOUD_API_KEY: ${{ secrets.CLICKHOUSE_CLOUD_API_KEY }}
CLICKHOUSE_CLOUD_API_SECRET: ${{ secrets.CLICKHOUSE_CLOUD_API_SECRET }}
CLICKHOUSE_CLOUD_TEST_ORG_ID: ${{ secrets.CLICKHOUSE_CLOUD_TEST_ORG_ID }}
CLICKHOUSE_CLOUD_TEST_PROVIDER: ${{ secrets.CLICKHOUSE_CLOUD_TEST_PROVIDER }}
CLICKHOUSE_CLOUD_TEST_REGION: ${{ secrets.CLICKHOUSE_CLOUD_TEST_REGION }}
CLICKHOUSE_CLOUD_TEST_TIMEOUT_CREATE_SECS: ${{ vars.CLICKHOUSE_CLOUD_TEST_TIMEOUT_CREATE_SECS || '1800' }}
CLICKHOUSE_CLOUD_TEST_TIMEOUT_DELETE_SECS: ${{ vars.CLICKHOUSE_CLOUD_TEST_TIMEOUT_DELETE_SECS || '900' }}
CLICKHOUSE_CLOUD_TEST_TIMEOUT_STEADY_STATE_SECS: ${{ vars.CLICKHOUSE_CLOUD_TEST_TIMEOUT_STEADY_STATE_SECS || '1800' }}
RUST_TEST_THREADS: 1
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Build clickhousectl
run: cargo build
- name: Run fast tests
run: cargo test
- name: Run cloud integration suite
env:
CLICKHOUSECTL_BIN: target/debug/clickhousectl
run: cargo test --test cloud_cli -- --ignored --nocapture
- name: Upload debug artifacts on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: cloud-integration-debug
path: |
target/debug/clickhousectl
target/debug/deps/cloud_cli-*