|
17 | 17 | matrix: |
18 | 18 | include: |
19 | 19 | - name: all-features |
20 | | - flags: "--features postgres,libsql,html-to-markdown" |
| 20 | + # Keep product feature coverage broad without pulling in the |
| 21 | + # test-only `integration` feature, which is exercised separately |
| 22 | + # in the heavy integration job below. |
| 23 | + flags: "--no-default-features --features postgres,libsql,html-to-markdown,bedrock,import" |
21 | 24 | - name: default |
22 | 25 | flags: "" |
23 | 26 | - name: libsql-only |
|
39 | 42 | - name: Run Tests |
40 | 43 | run: cargo test ${{ matrix.flags }} -- --nocapture |
41 | 44 |
|
| 45 | + heavy-integration-tests: |
| 46 | + name: Heavy Integration Tests |
| 47 | + runs-on: ubuntu-latest |
| 48 | + steps: |
| 49 | + - name: Checkout repository |
| 50 | + uses: actions/checkout@v6 |
| 51 | + - name: Install Rust |
| 52 | + uses: dtolnay/rust-toolchain@stable |
| 53 | + with: |
| 54 | + targets: wasm32-wasip2 |
| 55 | + - uses: Swatinem/rust-cache@v2 |
| 56 | + with: |
| 57 | + key: heavy-integration |
| 58 | + - name: Build Telegram WASM channel |
| 59 | + run: cargo build --manifest-path channels-src/telegram/Cargo.toml --target wasm32-wasip2 --release |
| 60 | + - name: Run thread scheduling integration tests |
| 61 | + run: cargo test --no-default-features --features libsql,integration --test e2e_thread_scheduling -- --nocapture |
| 62 | + - name: Run Telegram thread-scope regression test |
| 63 | + run: cargo test --features integration --test telegram_auth_integration test_private_messages_use_chat_id_as_thread_scope -- --exact |
| 64 | + |
42 | 65 | telegram-tests: |
43 | 66 | name: Telegram Channel Tests |
44 | 67 | if: > |
|
65 | 88 | matrix: |
66 | 89 | include: |
67 | 90 | - name: all-features |
68 | | - flags: "--all-features" |
| 91 | + flags: "--no-default-features --features postgres,libsql,html-to-markdown,bedrock,import" |
69 | 92 | - name: default |
70 | 93 | flags: "" |
71 | 94 | - name: libsql-only |
@@ -149,14 +172,18 @@ jobs: |
149 | 172 | name: Run Tests |
150 | 173 | runs-on: ubuntu-latest |
151 | 174 | if: always() |
152 | | - needs: [tests, telegram-tests, wasm-wit-compat, docker-build, windows-build, version-check, bench-compile] |
| 175 | + needs: [tests, heavy-integration-tests, telegram-tests, wasm-wit-compat, docker-build, windows-build, version-check, bench-compile] |
153 | 176 | steps: |
154 | 177 | - run: | |
155 | 178 | # Unit tests must always pass |
156 | 179 | if [[ "${{ needs.tests.result }}" != "success" ]]; then |
157 | 180 | echo "Unit tests failed" |
158 | 181 | exit 1 |
159 | 182 | fi |
| 183 | + if [[ "${{ needs.heavy-integration-tests.result }}" != "success" ]]; then |
| 184 | + echo "Heavy integration tests failed" |
| 185 | + exit 1 |
| 186 | + fi |
160 | 187 | # Gated jobs: must pass on promotion PRs / push, skipped on developer PRs |
161 | 188 | for job in telegram-tests wasm-wit-compat docker-build windows-build version-check bench-compile; do |
162 | 189 | case "$job" in |
|
0 commit comments