From 5564b88e93bd69a50de33bbc418b7668aae60cb5 Mon Sep 17 00:00:00 2001 From: Alex Chi Date: Fri, 3 Jun 2022 13:16:13 +0800 Subject: [PATCH] release: v0.1.8 (#2971) Signed-off-by: Alex Chi --- .github/workflows/main.yml | 748 ++++++++++++++++++++++++++++ Cargo.lock | 54 +- Makefile.toml | 3 + src/batch/Cargo.toml | 2 +- src/bench/Cargo.toml | 2 +- src/cmd/Cargo.toml | 2 +- src/cmd_all/Cargo.toml | 2 +- src/common/Cargo.toml | 2 +- src/compute/Cargo.toml | 2 +- src/connector/Cargo.toml | 2 +- src/ctl/Cargo.toml | 2 +- src/expr/Cargo.toml | 2 +- src/frontend/Cargo.toml | 2 +- src/frontend/test_runner/Cargo.toml | 2 +- src/meta/Cargo.toml | 2 +- src/object_store/Cargo.toml | 2 +- src/prost/Cargo.toml | 2 +- src/risedevtool/Cargo.toml | 2 +- src/rpc_client/Cargo.toml | 2 +- src/source/Cargo.toml | 2 +- src/sqlparser/Cargo.toml | 2 +- src/storage/Cargo.toml | 2 +- src/storage/compactor/Cargo.toml | 2 +- src/storage/hummock_sdk/Cargo.toml | 2 +- src/stream/Cargo.toml | 2 +- src/utils/logging/Cargo.toml | 2 +- src/utils/memcomparable/Cargo.toml | 2 +- src/utils/pgwire/Cargo.toml | 2 +- src/utils/value-encoding/Cargo.toml | 2 +- src/workspace-hack/Cargo.toml | 2 +- 30 files changed, 805 insertions(+), 54 deletions(-) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000000000..c4668e5f54c8a --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,748 @@ + +# ================= THIS FILE IS AUTOMATICALLY GENERATED ================= +# +# To edit this file, please refer to the instructions in CONTRIBUTING.md. +# +# ======================================================================== + +name: CI (main) +on: + push: + tags: + - "v*" + workflow_dispatch: +env: + RUST_TOOLCHAIN: nightly-2022-05-24 + CACHE_KEY_SUFFIX: v20220531 + CARGO_TERM_COLOR: always + RW_SQLLOGICTEST_URL: https://github.com/risinglightdb/sqllogictest-rs/releases/download/v0.3.4/sqllogictest-linux-amd64.tar.gz + RW_CARGO_MAKE_URL: https://github.com/sagiegurari/cargo-make/releases/download/0.35.10/cargo-make-v0.35.10-x86_64-unknown-linux-musl.zip + RW_CARGO_MAKE_DIRECTORY: cargo-make-v0.35.10-x86_64-unknown-linux-musl + RUSTFLAGS: -D warnings + PROTOC_NO_VENDOR: true + AWS_ROLE_TO_ASSUME: arn:aws:iam::639303875316:role/Create-IAM-Role-for-Configure-AWS-Credentials-Role-1NF1LWROB80QG +permissions: + id-token: write + contents: write +jobs: + start-runner-a: + name: ec2-start-a + runs-on: ubuntu-latest + outputs: + label: ${{ steps.start-ec2-runner.outputs.label }} + ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} + steps: + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: ${{ env.AWS_ROLE_TO_ASSUME }} + role-session-name: GitHubActions + aws-region: us-east-2 + - name: Start EC2 runner + id: start-ec2-runner + uses: machulav/ec2-github-runner@v2 + with: + mode: start + github-token: ${{ secrets.WUTAO_PAT }} + ec2-image-id: ami-05a99cf0eb100c377 + ec2-instance-type: c5.4xlarge + subnet-id: subnet-59743123 + security-group-id: sg-9ec32bfe + start-runner-b: + name: ec2-start-b + runs-on: ubuntu-latest + outputs: + label: ${{ steps.start-ec2-runner.outputs.label }} + ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} + steps: + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: ${{ env.AWS_ROLE_TO_ASSUME }} + role-session-name: GitHubActions + aws-region: us-east-2 + - name: Start EC2 runner + id: start-ec2-runner + uses: machulav/ec2-github-runner@v2 + with: + mode: start + github-token: ${{ secrets.WUTAO_PAT }} + ec2-image-id: ami-05a99cf0eb100c377 + ec2-instance-type: c5.4xlarge + subnet-id: subnet-59743123 + security-group-id: sg-9ec32bfe + stop-runner-a: + name: ec2-stop-a + needs: + - start-runner-a + - compute-node-build-dev + - end-to-end-risedev-dev + runs-on: ubuntu-latest + if: ${{ always() }} + steps: + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: ${{ env.AWS_ROLE_TO_ASSUME }} + role-session-name: GitHubActions + aws-region: us-east-2 + - name: Stop EC2 runner A + uses: machulav/ec2-github-runner@v2 + with: + mode: stop + github-token: ${{ secrets.WUTAO_PAT }} + label: ${{ needs.start-runner-a.outputs.label }} + ec2-instance-id: ${{ needs.start-runner-a.outputs.ec2-instance-id }} + if: ${{ always() }} + stop-runner-b: + name: ec2-stop-b + needs: + - start-runner-b + - compute-node-test + runs-on: ubuntu-latest + if: ${{ always() }} + steps: + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: ${{ env.AWS_ROLE_TO_ASSUME }} + role-session-name: GitHubActions + aws-region: us-east-2 + - name: Stop EC2 runner B + uses: machulav/ec2-github-runner@v2 + with: + mode: stop + github-token: ${{ secrets.WUTAO_PAT }} + label: ${{ needs.start-runner-b.outputs.label }} + ec2-instance-id: ${{ needs.start-runner-b.outputs.ec2-instance-id }} + if: ${{ always() }} + start-runner-c: + name: ec2-start-c + runs-on: ubuntu-latest + outputs: + label: ${{ steps.start-ec2-runner.outputs.label }} + ec2-instance-id: ${{ steps.start-ec2-runner.outputs.ec2-instance-id }} + steps: + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: ${{ env.AWS_ROLE_TO_ASSUME }} + role-session-name: GitHubActions + aws-region: us-east-2 + - name: Start EC2 runner + id: start-ec2-runner + uses: machulav/ec2-github-runner@v2 + with: + mode: start + github-token: ${{ secrets.WUTAO_PAT }} + ec2-image-id: ami-05a99cf0eb100c377 + ec2-instance-type: c5.4xlarge + subnet-id: subnet-59743123 + security-group-id: sg-9ec32bfe + stop-runner-c: + name: ec2-stop-c + needs: + - start-runner-c + - end-to-end-risedev-release + runs-on: ubuntu-latest + if: ${{ always() }} + steps: + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: ${{ env.AWS_ROLE_TO_ASSUME }} + role-session-name: GitHubActions + aws-region: us-east-2 + - name: Stop EC2 runner C + uses: machulav/ec2-github-runner@v2 + with: + mode: stop + github-token: ${{ secrets.WUTAO_PAT }} + label: ${{ needs.start-runner-c.outputs.label }} + ec2-instance-id: ${{ needs.start-runner-c.outputs.ec2-instance-id }} + if: ${{ always() }} + end-to-end-risedev-dev: + name: e2e-test-risedev-dev + needs: + - compute-node-build-dev + - start-runner-a + runs-on: ${{ needs.start-runner-a.outputs.label }} + container: + image: public.ecr.aws/x5u3w5h6/risingwave-build-env:latest + options: --security-opt seccomp=unconfined + timeout-minutes: 22 + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Install rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env.RUST_TOOLCHAIN }} + profile: minimal + - name: Cache Cargo home + uses: actions/cache@v2 + id: cache + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + key: ${{ runner.os }}-cargo-${{ env.CACHE_KEY_SUFFIX }}-e2e + - uses: actions/download-artifact@v2 + name: Download risingwave binary + with: + name: risingwave-dev + path: ./target/debug + - uses: actions/download-artifact@v2 + name: Download playground binary + with: + name: risedev-playground-dev + path: ./target/debug + - name: Adjust permission + run: | + chmod +x ./target/debug/risingwave + chmod +x ./target/debug/risedev-playground + - name: Install required components + run: | + apt-get update -yy -o Acquire::Retries=3 + apt-get install --upgrade -yy tmux -o Acquire::Retries=3 + - name: Generate RiseDev CI config + run: | + cp risedev-components.ci.env risedev-components.user.env + - name: Download sqllogictest + run: | + wget ${RW_SQLLOGICTEST_URL} -O - | tar xz && mv ${BINARY} ${DIR}/${BINARY} + chmod +x ${DIR}/${BINARY} + env: + DIR: /usr/local/bin + BINARY: sqllogictest + - name: Download cargo-make + run: | + curl -fL ${RW_CARGO_MAKE_URL} -o ~/cargo-make.zip + unzip ~/cargo-make.zip -d ~ + mv "${HOME}/${RW_CARGO_MAKE_DIRECTORY}" ~/cargo-make + - name: Prepare RiseDev playground + run: | + ~/cargo-make/makers pre-start-playground + ~/cargo-make/makers link-all-in-one-binaries + - name: e2e, ci-3cn-1fe, streaming + timeout-minutes: 5 + run: | + ~/cargo-make/makers ci-start ci-3cn-1fe + sqllogictest -p 4566 './e2e_test/streaming/**/*.slt' + - name: Kill cluster + run: ~/cargo-make/makers ci-kill + - name: e2e, ci-3cn-1fe, delta join + timeout-minutes: 3 + run: | + ~/cargo-make/makers ci-start ci-3cn-1fe + sqllogictest -p 4566 './e2e_test/streaming_delta_join/**/*.slt' + - name: Kill cluster + run: ~/cargo-make/makers ci-kill + - name: e2e, ci-3cn-1fe, batch distributed + timeout-minutes: 3 + run: | + ~/cargo-make/makers ci-start ci-3cn-1fe + sqllogictest -p 4566 './e2e_test/ddl/**/*.slt' + sqllogictest -p 4566 './e2e_test/batch/**/*.slt' + - name: Kill cluster + run: ~/cargo-make/makers ci-kill + - name: Dump last 300 lines of logs on failure + if: ${{ failure() }} + run: ~/cargo-make/makers logs + - uses: actions/upload-artifact@v2 + if: ${{ failure() }} + name: Upload RiseDev logs on failure (You may find it in artifacts) + with: + path: .risingwave/log/ + name: risedev-logs + end-to-end-risedev-release: + name: e2e-test-risedev-release + needs: + - compute-node-build-release + - start-runner-c + runs-on: ${{ needs.start-runner-c.outputs.label }} + container: + image: public.ecr.aws/x5u3w5h6/risingwave-build-env:latest + options: --security-opt seccomp=unconfined + timeout-minutes: 22 + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Install rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env.RUST_TOOLCHAIN }} + profile: minimal + - name: Cache Cargo home + uses: actions/cache@v2 + id: cache + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + key: ${{ runner.os }}-cargo-${{ env.CACHE_KEY_SUFFIX }}-e2e + - uses: actions/download-artifact@v2 + name: Download risingwave binary + with: + name: risingwave-release + path: ./target/debug + - uses: actions/download-artifact@v2 + name: Download playground binary + with: + name: risedev-playground-release + path: ./target/debug + - name: Adjust permission + run: | + chmod +x ./target/debug/risingwave + chmod +x ./target/debug/risedev-playground + - name: Install required components + run: | + apt-get update -yy -o Acquire::Retries=3 + apt-get install --upgrade -yy tmux -o Acquire::Retries=3 + - name: Generate RiseDev CI config + run: | + cp risedev-components.ci.env risedev-components.user.env + - name: Download sqllogictest + run: | + wget ${RW_SQLLOGICTEST_URL} -O - | tar xz && mv ${BINARY} ${DIR}/${BINARY} + chmod +x ${DIR}/${BINARY} + env: + DIR: /usr/local/bin + BINARY: sqllogictest + - name: Download cargo-make + run: | + curl -fL ${RW_CARGO_MAKE_URL} -o ~/cargo-make.zip + unzip ~/cargo-make.zip -d ~ + mv "${HOME}/${RW_CARGO_MAKE_DIRECTORY}" ~/cargo-make + - name: Prepare RiseDev playground + run: | + ~/cargo-make/makers pre-start-playground + ~/cargo-make/makers link-all-in-one-binaries + - name: e2e, ci-3cn-1fe, streaming + timeout-minutes: 5 + run: | + ~/cargo-make/makers ci-start ci-3cn-1fe + sqllogictest -p 4566 './e2e_test/streaming/**/*.slt' + - name: Kill cluster + run: ~/cargo-make/makers ci-kill + - name: e2e, ci-3cn-1fe, delta join + timeout-minutes: 3 + run: | + ~/cargo-make/makers ci-start ci-3cn-1fe + sqllogictest -p 4566 './e2e_test/streaming_delta_join/**/*.slt' + - name: Kill cluster + run: ~/cargo-make/makers ci-kill + - name: e2e, ci-3cn-1fe, batch distributed + timeout-minutes: 3 + run: | + ~/cargo-make/makers ci-start ci-3cn-1fe + sqllogictest -p 4566 './e2e_test/ddl/**/*.slt' + sqllogictest -p 4566 './e2e_test/batch/**/*.slt' + - name: Kill cluster + run: ~/cargo-make/makers ci-kill + - name: Dump last 300 lines of logs on failure + if: ${{ failure() }} + run: ~/cargo-make/makers logs + - uses: actions/upload-artifact@v2 + if: ${{ failure() }} + name: Upload RiseDev logs on failure (You may find it in artifacts) + with: + path: .risingwave/log/ + name: risedev-logs + end-to-end-source: + name: e2e-test-source + needs: + - compute-node-build-dev + runs-on: ubuntu-latest + timeout-minutes: 15 + env: + PG_PORT: 5432 + RW_PORT: 4567 + services: + postgres: + image: postgres + ports: + - 5432:5432 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: postgres + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Log in to the Container registry + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + registry: ghcr.io + username: ${{ secrets.GHCR_USERNAME }} + password: ${{ secrets.GHCR_TOKEN }} + - name: Install required components + run: | + sudo apt-get update -yy -o Acquire::Retries=3 + sudo apt-get install --upgrade -yy tmux postgresql -o Acquire::Retries=3 + - name: Install rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env.RUST_TOOLCHAIN }} + profile: minimal + - name: Cache Cargo home + uses: actions/cache@v2 + id: cache + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + key: ${{ runner.os }}-cargo-${{ env.CACHE_KEY_SUFFIX }}-e2e + - name: Download sqllogictest + run: | + wget ${RW_SQLLOGICTEST_URL} -O - | tar xz && mv ${BINARY} ${DIR}/${BINARY} + chmod +x ${DIR}/${BINARY} + env: + DIR: /usr/local/bin + BINARY: sqllogictest + - name: Download cargo-make + run: | + curl -fL ${RW_CARGO_MAKE_URL} -o ~/cargo-make.zip + unzip ~/cargo-make.zip -d ~ + mv "${HOME}/${RW_CARGO_MAKE_DIRECTORY}" ~/cargo-make + - uses: actions/download-artifact@v2 + name: Download risingwave binary + with: + name: risingwave-dev + path: ./target/debug + - uses: actions/download-artifact@v2 + name: Download playground binary + with: + name: risedev-playground-dev + path: ./target/debug + - uses: actions/download-artifact@v2 + name: Download risingwave_regress_test binary + with: + name: risingwave_regress_test-dev + path: ./target/debug + - name: Adjust permission + run: | + chmod +x ./target/debug/risingwave + chmod +x ./target/debug/risedev-playground + chmod +x ./target/debug/risingwave_regress_test + - name: Generate RiseDev CI config + run: | + cp risedev-components.ci.env risedev-components.user.env + - name: Prepare RiseDev playground + run: | + ~/cargo-make/makers pre-start-playground + ~/cargo-make/makers link-all-in-one-binaries + - name: e2e test w/ Rust frontend - source with kafka + timeout-minutes: 2 + run: | + ~/cargo-make/makers clean-data + ~/cargo-make/makers ci-start ci-kafka + ./scripts/source/prepare_ci_kafka.sh + sqllogictest -p 4566 './e2e_test/source/**/*.slt' + - name: Dump last 100 lines of logs on failure + if: ${{ failure() }} + run: ~/cargo-make/makers logs + - uses: actions/upload-artifact@v2 + if: ${{ failure() }} + name: Upload RiseDev logs on failure (You may find it in artifacts) + with: + path: .risingwave/log/ + name: risedev-logs-source + compute-node-build-dev: + needs: start-runner-a + runs-on: ${{ needs.start-runner-a.outputs.label }} + container: + image: public.ecr.aws/x5u3w5h6/risingwave-build-env:latest + options: --security-opt seccomp=unconfined + name: compute-node-build-dev + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: "3.x" + - name: Install Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env.RUST_TOOLCHAIN }} + components: rustfmt + - name: Install required components + run: | + apt-get update -yy -o Acquire::Retries=3 + apt-get install --upgrade -yy lld -o Acquire::Retries=3 + - name: Cache Cargo home + uses: actions/cache@v2 + id: cache + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}-${{ env.CACHE_KEY_SUFFIX }}-build + - name: Install required tools + if: steps.cache.outputs.cache-hit != 'true' + run: | + cargo install cargo-sort cargo-hakari + - name: Run rust cargo-sort check + run: | + cargo sort -c -w + - name: Run rust cargo-hakari check + run: | + cargo hakari verify + - name: Run rust format check + run: | + cargo fmt --all -- --check + - name: Build Rust components + run: | + cargo build -p risingwave_cmd_all -p risedev -p risingwave_regress_test --profile dev + - name: Compress RisingWave debug info + run: | + objcopy --compress-debug-sections=zlib-gnu target/debug/risingwave + - uses: actions/upload-artifact@v2 + with: + name: risingwave-dev + if-no-files-found: error + path: | + target/debug/risingwave + - uses: actions/upload-artifact@v2 + with: + name: risingwave_regress_test-dev + if-no-files-found: error + path: | + target/debug/risingwave_regress_test + - uses: actions/upload-artifact@v2 + with: + name: risedev-playground-dev + if-no-files-found: error + path: | + target/debug/risedev-playground + compute-node-build-release: + needs: start-runner-c + runs-on: ${{ needs.start-runner-c.outputs.label }} + container: + image: public.ecr.aws/x5u3w5h6/risingwave-build-env:latest + options: --security-opt seccomp=unconfined + name: compute-node-build-release + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: "3.x" + - name: Install Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env.RUST_TOOLCHAIN }} + components: rustfmt + - name: Install required components + run: | + apt-get update -yy -o Acquire::Retries=3 + apt-get install --upgrade -yy lld -o Acquire::Retries=3 + - name: Cache Cargo home + uses: actions/cache@v2 + id: cache + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}-${{ env.CACHE_KEY_SUFFIX }}-build + - name: Install required tools + if: steps.cache.outputs.cache-hit != 'true' + run: | + cargo install cargo-sort cargo-hakari + - name: Run rust cargo-sort check + run: | + cargo sort -c -w + - name: Run rust cargo-hakari check + run: | + cargo hakari verify + - name: Run rust format check + run: | + cargo fmt --all -- --check + - name: Build Rust components + run: | + cargo build -p risingwave_cmd_all -p risedev -p risingwave_regress_test --profile release + - name: Compress RisingWave debug info + run: | + objcopy --compress-debug-sections=zlib-gnu target/release/risingwave + - uses: actions/upload-artifact@v2 + with: + name: risingwave-release + if-no-files-found: error + path: | + target/release/risingwave + - uses: actions/upload-artifact@v2 + with: + name: risingwave_regress_test-release + if-no-files-found: error + path: | + target/release/risingwave_regress_test + - uses: actions/upload-artifact@v2 + with: + name: risedev-playground-release + if-no-files-found: error + path: | + target/release/risedev-playground + compute-node-test: + needs: + - start-runner-b + runs-on: ${{ needs.start-runner-b.outputs.label }} + container: + image: public.ecr.aws/x5u3w5h6/risingwave-build-env:latest + options: --security-opt seccomp=unconfined + name: compute-node-test + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Install Protoc + uses: arduino/setup-protoc@v1 + with: + version: "3.x" + - name: Install Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ env.RUST_TOOLCHAIN }} + components: llvm-tools-preview, clippy + - name: Cache Cargo home + uses: actions/cache@v2 + id: cache + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}-${{ env.CACHE_KEY_SUFFIX }}-test + - uses: taiki-e/install-action@cargo-llvm-cov + - uses: taiki-e/install-action@nextest + - name: Run rust clippy check + run: | + # If new CI checks are added, the one with `--locked` must be run first. + cargo clippy --all-targets --all-features --locked -- -D warnings + - name: Build documentation + run: | + cargo doc --document-private-items --no-deps + - name: Run rust failpoints test + run: | + cargo nextest run failpoints --features failpoints --no-fail-fast + - name: Run rust doc check + run: | + cargo test --doc + - name: Run rust test with coverage + run: | + cargo llvm-cov nextest --lcov --output-path lcov.info -- --no-fail-fast + - uses: codecov/codecov-action@v2 + with: + token: ${{ secrets.CODECOV_TOKEN }} + directory: . + flags: rust + misc-check: + runs-on: ubuntu-latest + name: misc-check + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Install required tools + run: | + wget https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/${BINARY}.tar.gz -O - | tar xz && sudo mv ${BINARY} /usr/bin/yq + sudo apt install -y protobuf-compiler -o Acquire::Retries=3 + curl -sSL \ + "https://github.com/bufbuild/buf/releases/download/v${BUF_VERSION}/buf-$(uname -s)-$(uname -m).tar.gz" | \ + sudo tar -xvzf - -C /usr/local --strip-components 1 + env: + YQ_VERSION: v4.16.1 + BINARY: yq_linux_amd64 + BUF_VERSION: "1.4.0" + - name: Check CI workflows are up-to-date + run: | + ./.github/workflow-template/generate.sh --check + - name: Run ShellCheck + uses: ludeeus/action-shellcheck@master + - name: Check protobuf code format + run: | + buf format -d --exit-code + working-directory: proto + - name: Lint protobuf + run: | + buf lint + working-directory: proto + release: + if: startsWith(github.ref, 'refs/tags/v') + runs-on: ubuntu-latest + needs: + - compute-node-build-release + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Build Changelog + id: github_release + uses: mikepenz/release-changelog-builder-action@v2 + with: + configuration: ".github/changelog.json" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Create Release + uses: actions/create-release@v1 + id: create_release + with: + tag_name: ${{ github.ref }} + release_name: ${{ github.ref }} + body: ${{steps.github_release.outputs.changelog}} + draft: true + prerelease: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/download-artifact@v2 + name: Download risingwave binary + with: + name: risingwave-release + path: . + - name: package as tar + run: | + chmod +x risingwave + tar -czvf risingwave-${GITHUB_REF_NAME}-x86_64-unknown-linux.tar.gz risingwave + env: + GITHUB_REF_NAME: ${{ github.ref_name }} + - name: add artifact + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: risingwave-${{ github.ref_name }}-x86_64-unknown-linux.tar.gz + asset_name: risingwave-${{ github.ref_name }}-x86_64-unknown-linux.tar.gz + asset_content_type: application/tar+gzip + +# ================= THIS FILE IS AUTOMATICALLY GENERATED ================= +# +# To edit this file, please refer to the instructions in CONTRIBUTING.md. +# +# ======================================================================== + diff --git a/Cargo.lock b/Cargo.lock index ef42860524613..d39341eab6b9d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2385,7 +2385,7 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memcomparable" -version = "0.1.0" +version = "0.1.8" dependencies = [ "bytes", "rand 0.8.5", @@ -2934,7 +2934,7 @@ dependencies = [ [[package]] name = "pgwire" -version = "0.1.0" +version = "0.1.8" dependencies = [ "async-trait", "byteorder", @@ -3531,7 +3531,7 @@ dependencies = [ [[package]] name = "risedev" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "bytes", @@ -3555,7 +3555,7 @@ dependencies = [ [[package]] name = "risingwave_batch" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "assert_matches", @@ -3608,7 +3608,7 @@ dependencies = [ [[package]] name = "risingwave_bench" -version = "0.1.0" +version = "0.1.8" dependencies = [ "bytes", "bytesize", @@ -3635,7 +3635,7 @@ dependencies = [ [[package]] name = "risingwave_cmd" -version = "0.1.7" +version = "0.1.8" dependencies = [ "clap 3.1.18", "log", @@ -3654,7 +3654,7 @@ dependencies = [ [[package]] name = "risingwave_cmd_all" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "clap 3.1.18", @@ -3675,7 +3675,7 @@ dependencies = [ [[package]] name = "risingwave_common" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "async-stream", @@ -3721,7 +3721,7 @@ dependencies = [ [[package]] name = "risingwave_compactor" -version = "0.1.0" +version = "0.1.8" dependencies = [ "clap 3.1.18", "madsim", @@ -3743,7 +3743,7 @@ dependencies = [ [[package]] name = "risingwave_compute" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "async-stream", @@ -3797,7 +3797,7 @@ dependencies = [ [[package]] name = "risingwave_connector" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "async-stream", @@ -3859,7 +3859,7 @@ dependencies = [ [[package]] name = "risingwave_ctl" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "bytes", @@ -3875,7 +3875,7 @@ dependencies = [ [[package]] name = "risingwave_expr" -version = "0.1.7" +version = "0.1.8" dependencies = [ "aho-corasick", "anyhow", @@ -3912,7 +3912,7 @@ dependencies = [ [[package]] name = "risingwave_frontend" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "arc-swap", @@ -3964,7 +3964,7 @@ dependencies = [ [[package]] name = "risingwave_frontend_test_runner" -version = "0.1.0" +version = "0.1.8" dependencies = [ "anyhow", "console", @@ -3985,7 +3985,7 @@ dependencies = [ [[package]] name = "risingwave_hummock_sdk" -version = "0.1.0" +version = "0.1.8" dependencies = [ "bytes", "hex", @@ -3999,7 +3999,7 @@ dependencies = [ [[package]] name = "risingwave_logging" -version = "0.1.0" +version = "0.1.8" dependencies = [ "async-trait", "futures", @@ -4019,7 +4019,7 @@ dependencies = [ [[package]] name = "risingwave_meta" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "assert_matches", @@ -4075,7 +4075,7 @@ dependencies = [ [[package]] name = "risingwave_object_store" -version = "0.1.7" +version = "0.1.8" dependencies = [ "async-trait", "aws-config", @@ -4099,7 +4099,7 @@ dependencies = [ [[package]] name = "risingwave_pb" -version = "0.1.0" +version = "0.1.8" dependencies = [ "bytes", "madsim-tonic", @@ -4130,7 +4130,7 @@ dependencies = [ [[package]] name = "risingwave_rpc_client" -version = "0.1.7" +version = "0.1.8" dependencies = [ "async-trait", "futures", @@ -4149,7 +4149,7 @@ dependencies = [ [[package]] name = "risingwave_source" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "apache-avro", @@ -4204,7 +4204,7 @@ dependencies = [ [[package]] name = "risingwave_sqlparser" -version = "0.1.7" +version = "0.1.8" dependencies = [ "itertools", "log", @@ -4231,7 +4231,7 @@ dependencies = [ [[package]] name = "risingwave_storage" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "async-trait", @@ -4291,7 +4291,7 @@ dependencies = [ [[package]] name = "risingwave_stream" -version = "0.1.7" +version = "0.1.8" dependencies = [ "anyhow", "assert_matches", @@ -5431,7 +5431,7 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "value-encoding" -version = "0.1.0" +version = "0.1.8" dependencies = [ "bytes", "memcomparable", @@ -5680,7 +5680,7 @@ dependencies = [ [[package]] name = "workspace-hack" -version = "0.1.0" +version = "0.1.8" dependencies = [ "anyhow", "axum", diff --git a/Makefile.toml b/Makefile.toml index 74bc5162e6fab..292164fe18736 100644 --- a/Makefile.toml +++ b/Makefile.toml @@ -434,6 +434,9 @@ script = """ #!@shell echo "Running $(tput setaf 4)cargo hakari$(tput sgr0) checks and attempting to fix" + +# cargo hakari will generate new Cargo.toml regardless whether the original Cargo.toml is correct or not. +# So we always verify before generate, so as not to change the modified time of Cargo.toml. (cargo hakari verify > /dev/null) || cargo hakari generate test $? -eq 0 || exit 1 """ diff --git a/src/batch/Cargo.toml b/src/batch/Cargo.toml index 7e3e15c69ad39..1184427176d37 100644 --- a/src/batch/Cargo.toml +++ b/src/batch/Cargo.toml @@ -1,7 +1,7 @@ [package] edition = "2021" name = "risingwave_batch" -version = "0.1.7" +version = "0.1.8" [dependencies] anyhow = "1" diff --git a/src/bench/Cargo.toml b/src/bench/Cargo.toml index 6527278c56df3..ce66a6fd0d435 100644 --- a/src/bench/Cargo.toml +++ b/src/bench/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_bench" -version = "0.1.0" +version = "0.1.8" edition = "2021" [dependencies] diff --git a/src/cmd/Cargo.toml b/src/cmd/Cargo.toml index 0467b31e90ac8..9557722e5b62f 100644 --- a/src/cmd/Cargo.toml +++ b/src/cmd/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_cmd" -version = "0.1.7" +version = "0.1.8" edition = "2021" [dependencies] diff --git a/src/cmd_all/Cargo.toml b/src/cmd_all/Cargo.toml index 610d3fe1379c8..275ce3ea3220a 100644 --- a/src/cmd_all/Cargo.toml +++ b/src/cmd_all/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_cmd_all" -version = "0.1.7" +version = "0.1.8" edition = "2021" [dependencies] diff --git a/src/common/Cargo.toml b/src/common/Cargo.toml index f5b6c56273a93..455c2143a7dbe 100644 --- a/src/common/Cargo.toml +++ b/src/common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_common" -version = "0.1.7" +version = "0.1.8" edition = "2021" [dependencies] diff --git a/src/compute/Cargo.toml b/src/compute/Cargo.toml index 2faa4459d490b..c9c1f2a1ee979 100644 --- a/src/compute/Cargo.toml +++ b/src/compute/Cargo.toml @@ -1,7 +1,7 @@ [package] edition = "2021" name = "risingwave_compute" -version = "0.1.7" +version = "0.1.8" [dependencies] anyhow = "1" diff --git a/src/connector/Cargo.toml b/src/connector/Cargo.toml index 2251151b8b091..bcdff3d1a6160 100644 --- a/src/connector/Cargo.toml +++ b/src/connector/Cargo.toml @@ -1,7 +1,7 @@ [package] edition = "2021" name = "risingwave_connector" -version = "0.1.7" +version = "0.1.8" [dependencies] anyhow = "1" diff --git a/src/ctl/Cargo.toml b/src/ctl/Cargo.toml index 6befd48449922..a738904d9864b 100644 --- a/src/ctl/Cargo.toml +++ b/src/ctl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_ctl" -version = "0.1.7" +version = "0.1.8" edition = "2021" [dependencies] diff --git a/src/expr/Cargo.toml b/src/expr/Cargo.toml index 1cb86b836ef69..ab9d8fe775248 100644 --- a/src/expr/Cargo.toml +++ b/src/expr/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_expr" -version = "0.1.7" +version = "0.1.8" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/frontend/Cargo.toml b/src/frontend/Cargo.toml index 142fe7ad15c6c..b5c7568831f4e 100644 --- a/src/frontend/Cargo.toml +++ b/src/frontend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_frontend" -version = "0.1.7" +version = "0.1.8" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/frontend/test_runner/Cargo.toml b/src/frontend/test_runner/Cargo.toml index 769cee7d52dfa..e0d040bb6e433 100644 --- a/src/frontend/test_runner/Cargo.toml +++ b/src/frontend/test_runner/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_frontend_test_runner" -version = "0.1.0" +version = "0.1.8" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/meta/Cargo.toml b/src/meta/Cargo.toml index 23bdcae3cbdd4..c5e2bdfb6fda4 100644 --- a/src/meta/Cargo.toml +++ b/src/meta/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_meta" -version = "0.1.7" +version = "0.1.8" edition = "2021" [dependencies] diff --git a/src/object_store/Cargo.toml b/src/object_store/Cargo.toml index 12365a08daceb..9b1931c2411e8 100644 --- a/src/object_store/Cargo.toml +++ b/src/object_store/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_object_store" -version = "0.1.7" +version = "0.1.8" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/prost/Cargo.toml b/src/prost/Cargo.toml index 5746f72a19c53..49a71b6942c90 100644 --- a/src/prost/Cargo.toml +++ b/src/prost/Cargo.toml @@ -1,7 +1,7 @@ [package] edition = "2021" name = "risingwave_pb" -version = "0.1.0" +version = "0.1.8" [dependencies] bytes = "1" diff --git a/src/risedevtool/Cargo.toml b/src/risedevtool/Cargo.toml index 679ec5cee29e5..afc8e6cdba99a 100644 --- a/src/risedevtool/Cargo.toml +++ b/src/risedevtool/Cargo.toml @@ -1,7 +1,7 @@ [package] edition = "2021" name = "risedev" -version = "0.1.7" +version = "0.1.8" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] diff --git a/src/rpc_client/Cargo.toml b/src/rpc_client/Cargo.toml index f4e2198379a43..a495c50509e7c 100644 --- a/src/rpc_client/Cargo.toml +++ b/src/rpc_client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_rpc_client" -version = "0.1.7" +version = "0.1.8" edition = "2021" [dependencies] diff --git a/src/source/Cargo.toml b/src/source/Cargo.toml index b7dff460b5c6f..e2ae0c8e16691 100644 --- a/src/source/Cargo.toml +++ b/src/source/Cargo.toml @@ -1,7 +1,7 @@ [package] edition = "2021" name = "risingwave_source" -version = "0.1.7" +version = "0.1.8" [dependencies] anyhow = "1" diff --git a/src/sqlparser/Cargo.toml b/src/sqlparser/Cargo.toml index 02d09b6ba298b..3cef1a99f6850 100644 --- a/src/sqlparser/Cargo.toml +++ b/src/sqlparser/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_sqlparser" -version = "0.1.7" +version = "0.1.8" license = "Apache-2.0" include = [ "src/**/*.rs", diff --git a/src/storage/Cargo.toml b/src/storage/Cargo.toml index da42fbf0386fa..01ddd5b161d1c 100644 --- a/src/storage/Cargo.toml +++ b/src/storage/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_storage" -version = "0.1.7" +version = "0.1.8" edition = "2021" [dependencies] diff --git a/src/storage/compactor/Cargo.toml b/src/storage/compactor/Cargo.toml index 9f08ef2e5de26..3e8217ac3d701 100644 --- a/src/storage/compactor/Cargo.toml +++ b/src/storage/compactor/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_compactor" -version = "0.1.0" +version = "0.1.8" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/storage/hummock_sdk/Cargo.toml b/src/storage/hummock_sdk/Cargo.toml index a86c5113d0ae7..ef059a7032bc3 100644 --- a/src/storage/hummock_sdk/Cargo.toml +++ b/src/storage/hummock_sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_hummock_sdk" -version = "0.1.0" +version = "0.1.8" edition = "2021" [dependencies] diff --git a/src/stream/Cargo.toml b/src/stream/Cargo.toml index 18fdb62d72436..ca2496f5e616e 100644 --- a/src/stream/Cargo.toml +++ b/src/stream/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_stream" -version = "0.1.7" +version = "0.1.8" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/utils/logging/Cargo.toml b/src/utils/logging/Cargo.toml index 7b07730b9a8bd..6040a5419db7a 100644 --- a/src/utils/logging/Cargo.toml +++ b/src/utils/logging/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "risingwave_logging" -version = "0.1.0" +version = "0.1.8" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/utils/memcomparable/Cargo.toml b/src/utils/memcomparable/Cargo.toml index 8af0717eefc02..bfa0b9de4202a 100644 --- a/src/utils/memcomparable/Cargo.toml +++ b/src/utils/memcomparable/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "memcomparable" -version = "0.1.0" +version = "0.1.8" edition = "2021" description = "Memcomparable format." # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/utils/pgwire/Cargo.toml b/src/utils/pgwire/Cargo.toml index 51151e5764b19..40a446cd35dd7 100644 --- a/src/utils/pgwire/Cargo.toml +++ b/src/utils/pgwire/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pgwire" -version = "0.1.0" +version = "0.1.8" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/utils/value-encoding/Cargo.toml b/src/utils/value-encoding/Cargo.toml index 60a22b58f019f..e508df40beff6 100644 --- a/src/utils/value-encoding/Cargo.toml +++ b/src/utils/value-encoding/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "value-encoding" -version = "0.1.0" +version = "0.1.8" edition = "2021" description = "Value encoding format." # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/workspace-hack/Cargo.toml b/src/workspace-hack/Cargo.toml index fc655e08cd4f0..afdcaf95fe82d 100644 --- a/src/workspace-hack/Cargo.toml +++ b/src/workspace-hack/Cargo.toml @@ -4,7 +4,7 @@ [package] name = "workspace-hack" -version = "0.1.0" +version = "0.1.8" description = "workspace-hack package, managed by hakari" # You can choose to publish this crate: see https://docs.rs/cargo-hakari/latest/cargo_hakari/publishing. publish = false