Repository navigation
Bind Planner physical candidates without Backend operator lowering #2087
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: MVP CI | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: mvp-ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| backend: | |
| name: MVP backend | |
| if: github.event_name != 'pull_request' || !github.event.pull_request.draft | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| env: | |
| # The full workspace links multiple DataFusion-heavy process test binaries. | |
| CARGO_PROFILE_DEV_DEBUG: "0" | |
| CARGO_PROFILE_TEST_DEBUG: "0" | |
| CARGO_INCREMENTAL: "0" | |
| steps: | |
| - name: Checkout ASAPQuery-backend | |
| uses: actions/checkout@v4 | |
| with: | |
| path: ASAPQuery-backend | |
| - name: Install Rust components | |
| run: rustup component add rustfmt clippy | |
| - name: Install protobuf compiler | |
| run: sudo apt-get update && sudo apt-get install --yes protobuf-compiler | |
| - name: Configure private Cargo dependencies | |
| env: | |
| ASAP_CI_REPO_TOKEN: ${{ secrets.ASAP_CI_REPO_TOKEN }} | |
| run: git config --global url."https://x-access-token:${ASAP_CI_REPO_TOKEN}@github.com/".insteadOf "https://github.com/" | |
| - name: Cache Rust build | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: ASAPQuery-backend | |
| # The compiled workspace fills the hosted runner before the cache | |
| # post-step can package `target`; registry/git inputs are sufficient. | |
| cache-targets: false | |
| - name: Test Planner dependency updater | |
| working-directory: ASAPQuery-backend | |
| run: | | |
| python3 -m unittest discover -s scripts/ci -p 'test_*.py' | |
| node scripts/ci/test_planner_merge.js | |
| - name: Check workspace formatting | |
| working-directory: ASAPQuery-backend | |
| # `--all` also follows this workspace's sibling path dependencies. | |
| # Keep the gate scoped to every backend-owned workspace member. | |
| run: cargo fmt -p control_plane -p data_plane -p asap_types -p asap_otel_proto -- --check | |
| - name: Check workspace | |
| env: | |
| CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
| working-directory: ASAPQuery-backend | |
| run: cargo check --workspace --locked | |
| - name: Lint workspace | |
| env: | |
| CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
| working-directory: ASAPQuery-backend | |
| # Preserve the existing warning policy while expanding runtime coverage. | |
| run: cargo clippy --workspace --all-targets --locked -- -D warnings | |
| - name: Test workspace | |
| env: | |
| CARGO_NET_GIT_FETCH_WITH_CLI: "true" | |
| # Give background flusher/sealer waits headroom on hosted runners. | |
| ASAP_TEST_TIMEOUT_SCALE: "4" | |
| working-directory: ASAPQuery-backend | |
| # Persistence tests wait on background flushers with bounded deadlines. | |
| # Match scripts/e2e.sh to avoid competing flushers exhausting those waits. | |
| run: cargo test --workspace --locked -- --test-threads=1 |