From 0685ba265cf16bf1eb72917bb06daefa8a5a76e9 Mon Sep 17 00:00:00 2001 From: Ning Sun Date: Thu, 9 Jan 2025 11:14:13 +0000 Subject: [PATCH] ci: disable cache for some tasks, create cache in nightly build (#5324) * ci: disable cache for some tasks * ci: add a nightly test to create rust cache on main --- .github/workflows/develop.yml | 74 ++++++++++++++++---------------- .github/workflows/nightly-ci.yml | 46 ++++++++++++++++++++ 2 files changed, 83 insertions(+), 37 deletions(-) diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index fc60d8071219..4fada893ca30 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -51,12 +51,12 @@ jobs: with: repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: actions-rust-lang/setup-rust-toolchain@v1 - - name: Rust Cache - uses: Swatinem/rust-cache@v2 - with: - # Shares across multiple jobs - # Shares with `Clippy` job - shared-key: "check-lint" + # - name: Rust Cache + # uses: Swatinem/rust-cache@v2 + # with: + # # Shares across multiple jobs + # # Shares with `Clippy` job + # shared-key: "check-lint" - name: Run cargo check run: cargo check --locked --workspace --all-targets @@ -67,11 +67,11 @@ jobs: steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 - - name: Rust Cache - uses: Swatinem/rust-cache@v2 - with: - # Shares across multiple jobs - shared-key: "check-toml" + # - name: Rust Cache + # uses: Swatinem/rust-cache@v2 + # with: + # # Shares across multiple jobs + # shared-key: "check-toml" - name: Install taplo run: cargo +stable install taplo-cli --version ^0.9 --locked --force - name: Run taplo @@ -142,11 +142,11 @@ jobs: with: repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: actions-rust-lang/setup-rust-toolchain@v1 - - name: Rust Cache - uses: Swatinem/rust-cache@v2 - with: - # Shares across multiple jobs - shared-key: "fuzz-test-targets" + # - name: Rust Cache + # uses: Swatinem/rust-cache@v2 + # with: + # # Shares across multiple jobs + # shared-key: "fuzz-test-targets" - name: Set Rust Fuzz shell: bash run: | @@ -200,11 +200,11 @@ jobs: with: repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: actions-rust-lang/setup-rust-toolchain@v1 - - name: Rust Cache - uses: Swatinem/rust-cache@v2 - with: - # Shares across multiple jobs - shared-key: "fuzz-test-targets" + # - name: Rust Cache + # uses: Swatinem/rust-cache@v2 + # with: + # # Shares across multiple jobs + # shared-key: "fuzz-test-targets" - name: Set Rust Fuzz shell: bash run: | @@ -317,11 +317,11 @@ jobs: with: repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: actions-rust-lang/setup-rust-toolchain@v1 - - name: Rust Cache - uses: Swatinem/rust-cache@v2 - with: - # Shares across multiple jobs - shared-key: "fuzz-test-targets" + # - name: Rust Cache + # uses: Swatinem/rust-cache@v2 + # with: + # # Shares across multiple jobs + # shared-key: "fuzz-test-targets" - name: Set Rust Fuzz shell: bash run: | @@ -466,11 +466,11 @@ jobs: with: repo-token: ${{ secrets.GITHUB_TOKEN }} - uses: actions-rust-lang/setup-rust-toolchain@v1 - - name: Rust Cache - uses: Swatinem/rust-cache@v2 - with: - # Shares across multiple jobs - shared-key: "fuzz-test-targets" + # - name: Rust Cache + # uses: Swatinem/rust-cache@v2 + # with: + # # Shares across multiple jobs + # shared-key: "fuzz-test-targets" - name: Set Rust Fuzz shell: bash run: | @@ -612,11 +612,11 @@ jobs: - uses: actions-rust-lang/setup-rust-toolchain@v1 with: components: rustfmt - - name: Rust Cache - uses: Swatinem/rust-cache@v2 - with: - # Shares across multiple jobs - shared-key: "check-rust-fmt" + # - name: Rust Cache + # uses: Swatinem/rust-cache@v2 + # with: + # # Shares across multiple jobs + # shared-key: "check-rust-fmt" - name: Check format run: make fmt-check @@ -670,7 +670,7 @@ jobs: with: # Shares cross multiple jobs shared-key: "coverage-test" - save-if: ${{ github.event_name == 'merge_group' }} + save-if: ${{ github.ref == 'refs/heads/main' }} # Disabled temporarily to see performance # - name: Docker Cache # uses: ScribeMD/docker-cache@0.5.0 diff --git a/.github/workflows/nightly-ci.yml b/.github/workflows/nightly-ci.yml index ff00ce5f0c62..bcdb31eaf644 100644 --- a/.github/workflows/nightly-ci.yml +++ b/.github/workflows/nightly-ci.yml @@ -108,7 +108,53 @@ jobs: GT_S3_REGION: ${{ vars.AWS_CI_TEST_BUCKET_REGION }} UNITTEST_LOG_DIR: "__unittest_logs" + ## this is designed for generating cache that usable for pull requests + test-on-linux: + name: Run tests on Linux + if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} + runs-on: ubuntu-20.04-8-cores + timeout-minutes: 60 + steps: + - uses: actions/checkout@v4 + - uses: arduino/setup-protoc@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + - uses: rui314/setup-mold@v1 + - name: Install Rust toolchain + uses: actions-rust-lang/setup-rust-toolchain@v1 + - name: Rust Cache + uses: Swatinem/rust-cache@v2 + with: + # Shares cross multiple jobs + shared-key: "coverage-test" + - name: Install Cargo Nextest + uses: taiki-e/install-action@nextest + - name: Setup external services + working-directory: tests-integration/fixtures + run: docker compose up -d --wait + - name: Running tests + run: cargo nextest run -F dashboard -F pg_kvbackend + env: + CARGO_BUILD_RUSTFLAGS: "-C link-arg=-fuse-ld=mold" + 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 }} + GT_MINIO_BUCKET: greptime + GT_MINIO_ACCESS_KEY_ID: superpower_ci_user + GT_MINIO_ACCESS_KEY: superpower_password + GT_MINIO_REGION: us-west-2 + GT_MINIO_ENDPOINT_URL: http://127.0.0.1:9000 + GT_ETCD_ENDPOINTS: http://127.0.0.1:2379 + GT_POSTGRES_ENDPOINTS: postgres://greptimedb:admin@127.0.0.1:5432/postgres + GT_KAFKA_ENDPOINTS: 127.0.0.1:9092 + GT_KAFKA_SASL_ENDPOINTS: 127.0.0.1:9093 + UNITTEST_LOG_DIR: "__unittest_logs" + cleanbuild-linux-nix: + name: Run clean build on Linux runs-on: ubuntu-latest-8-cores timeout-minutes: 60 steps: