46 Commits
Author SHA1 Message Date
zhikunyaoandGitHub 29891a36b7 auto: use build-ut-cov for master ci gate (#51428)
## What\n- Make master Mergify build-ut-cov gate success depend only on
ci-v2/build-ut-cov.\n- Make master Mergify build-ut-cov gate failure
remove ci-passed when ci-v2/build-ut-cov fails, without requiring legacy
split CI failures.\n\n## Why\nWhen legacy split CI jobs are downlined on
master, those checks can be missing instead of failed. The previous
remove rule required both build-ut-cov failure and legacy failure, so
ci-passed could remain after build-ut-cov failed.\n\n## Validation\n-
python3 -c "import yaml;
yaml.safe_load(open('/Users/zilliz/workspace/milvus/zhikunyao_milvus_ci/.github/mergify.yml'));
print('yaml ok')"\n- git diff --check

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2026-07-20 10:32:40 +08:00
zhikunyaoandGitHub b4dd2b29cf test: adjust mac code checker triggers (#50909)
This PR disables automatic pull_request triggers for Mac Code Checker
and separates non-PR concurrency by branch or SHA so master commits are
not displaced while pending. Test: git diff --check.

---------

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2026-06-30 11:42:31 +08:00
zhikunyaoandGitHub 5213930480 test: remove macos checker from ci gate (#50791)
This PR removes Code Checker MacOS from the Mergify ci-passed gate.

The macOS checker will no longer be required for ci-passed, and macOS
checker failures will no longer remove ci-passed. It can still run
separately or on demand.

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2026-06-25 17:02:27 +08:00
zhikunyaoandGitHub c1815947bf test: enable build-ut-cov gate on master (#50356)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2026-06-08 11:08:18 +08:00
zhikunyaoandGitHub ed5799edee build(deps): bump build-env image to 20260427-3ae4cb2 (Rust 1.92) (#49382)
## Summary

Bump builder image tags in `.env` to `20260427-3ae4cb2`, which includes
Rust 1.92 from #49362.

- `DATE_VERSION`: `20260419-63b9f9f` → `20260427-3ae4cb2`
- `GPU_DATE_VERSION`: `20260419-63b9f9f` → `20260427-3ae4cb2`

The new images were built by
[build-env-pipeline#33](https://jenkins-milvus-ci.milvus.io/job/MILVUS-RELEASE-PIPELINES/job/build-env-pipeline/33/).

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2026-04-29 17:37:51 +08:00
10a6c5abba doc: add scripts/milvus-debug.sh for coredump analysis with debug image (#49084)
## Summary

Add `scripts/milvus-debug.sh` to automate GDB coredump analysis using
the `-debug` image that accompanies each Milvus release starting from
v2.6.14.

## Background

Starting with v2.6.14, each Milvus release publishes two image variants:

| Tag | Content | Size | Use |
|-----|---------|------|-----|
| `milvusdb/milvus:<tag>` | **stripped** (production) | ~1/3 |
Production deployment |
| `milvusdb/milvus:<tag>-debug` | unstripped (full symbols) | full | GDB
coredump analysis |

The stripped production image is **byte-identical** to the debug image
in its code sections (`strip --strip-debug` removes only `.debug_*`
sections and symbol tables). So GDB can use the debug image's symbols to
resolve addresses in a coredump produced by the stripped image.

## What the script does

1. Pulls the debug image
2. Mounts the coredump file read-only into a container
3. Installs `gdb` on demand (not present in the runtime image by
default)
4. Launches GDB with `solib-search-path=/milvus/lib` so symbols from all
shared libraries (`libknowhere.so`, `libtantivy-binding.so`, etc.)
resolve correctly
5. Auto-prints the initial backtrace

## Typical usage after a production crash

```bash
# 1. Copy the coredump out of the crashed pod
kubectl cp <ns>/<pod>:/tmp/cores/core.<pid> ./core.<pid>

# 2. Run this script (GDB starts automatically with backtrace)
./scripts/milvus-debug.sh ./core.<pid> \
  milvusdb/milvus:v2.6.14 milvusdb/milvus:v2.6.14-debug
```

## Test plan

- [x] `bash -n scripts/milvus-debug.sh` (syntax check passes)
- [x] Mirrors the documented procedure in the
strip-image-coredump-debug-guide Feishu doc
- [ ] Manual validation on a real coredump (waiting for v2.6.14
production crash; can be exercised with any coredump for now)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-29 17:31:51 +08:00
zhikunyaoandGitHub e982662c89 test: prevent ChunkManagerWrapper destructor crash on parallel test teardown (#48834)
## Summary
- Use `boost::system::error_code` overload of `remove_all()` in
`ChunkManagerWrapper` destructor to prevent SIGABRT crash
- Fix applied to all 3 copies: `storage_test_utils.h`,
`InvertedIndexTest.cpp`, `JsonFlatIndexTest.cpp`

## Problem
When running C++ unit tests in parallel shards,
`ChunkManagerWrapper::~ChunkManagerWrapper()` can crash with:
```
boost::filesystem::remove: Directory not empty [system:39]: "4000_4000_3_100"
*** Signal 6 (SIGABRT)
```
This is a TOCTOU race condition in test teardown, same pattern as
#48368.

## Fix
Use the `error_code` overload: `boost::filesystem::remove_all(path, ec)`
which silently ignores errors instead of throwing in destructors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2026-04-09 17:29:40 +08:00
zhikunyaoandGitHub e83bcdc2c8 test: revert mergify format upgrade, restore misc section with 3.0 rules (#48758)
## Summary
Revert `ci(mergify): upgrade configuration to current format (#46385)`
which removed the `misc:` section and broke mergify rule evaluation —
all PRs stuck on "Your rules are under evaluation".

Restore the `misc:` section with YAML anchors (the working format) and
include 3.0 branch CI rules.

**Root cause**: The format upgrade removed `misc:` and inlined anchors
into `pull_request_rules:`. This caused mergify to get stuck evaluating
rules indefinitely.

## Test plan
- [ ] After merge, verify mergify processes PRs again (ci-passed labels
appear)
- [ ] Verify 3.0 branch PRs get ci-passed with 4 checkers

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2026-04-05 01:43:38 +08:00
zhikunyaoandGitHub 0fb8e07def test: add 3.0 branch CI rules to mergify (#48733)
## Summary
Add mergify rules for 3.0 branch CI (must be on master since mergify
reads config from default branch only).

**3.0 ci-passed requires 4 checkers:**
- `ci-v2/build-ut-cov` (ciloop build + unit tests)
- `ci-v2/e2e-amd` (e2e-pool-dispatcher)
- `ci-v2/go-sdk` (Go SDK E2E)
- `Code Checker MacOS`

**Exemption rules** (split from master/2.x to use 3.0 checker names):
- tests only → `ci-v2/e2e-amd`
- non-source code → `ci-v2/e2e-amd`
- go unittest only → `ci-v2/build-ut-cov` + MacOS
- skip e2e + source → `ci-v2/build-ut-cov` + MacOS
- docs/mergify only → direct ci-passed

**Failure removal:** any of 4 checkers fail → remove ci-passed
**PR validation:** 3.0 PRs require related master PR (same as 2.x)

## Test plan
- [ ] PR targeting 3.0: verify ci-passed added when all 4 checkers pass
- [ ] PR targeting 3.0: verify ci-passed removed when any checker fails
- [ ] PR targeting master: verify existing rules unchanged

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2026-04-04 10:19:40 +08:00
zhikunyaoandGitHub d769696eac test: add parallel execution support for C++ unit tests (#47587)
Add parallel execution capability for C++ unit tests using GTest
sharding, enabling faster CI feedback while maintaining test isolation.

Changes:
- Add run_cpp_ut.sh: New script for parallel UT execution without
coverage
- Update run_cpp_codecov.sh: Add optional parallel support (disabled by
default)
- Add GetTestTempBasePath/GetTestTempPath helpers for shard-specific
temp paths
- Initialize ArrowFileSystemSingleton in test global setup
- Fix flaky ThreadLocalGEOSContextTest with synchronization barrier
- Update test files to use dynamic temp paths instead of hardcoded /tmp/

The coverage script (run_cpp_codecov.sh) defaults to sequential mode for
accurate coverage data. The new run_cpp_ut.sh script defaults to
parallel mode (3 shards) for fast CI feedback.

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2026-02-11 20:26:42 +08:00
a117418fcf test: update builder image version to 20260205-982c238 (#47586)
Update DATE_VERSION, LATEST_DATE_VERSION, GPU_DATE_VERSION, and
LATEST_GPU_DATE_VERSION to use the latest builder image version.

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 17:50:09 +08:00
zhikunyaoandGitHub 982c23840e test: update .env and fix gpu-builder (#47564)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2026-02-05 12:28:02 +08:00
67cd9bdec0 test: update docker image for builder (#47556)
Replace `apt-get upgrade -y gpgv` with proper installation command. The
upgrade command syntax was incorrect and caused build failures with exit
code 100.

---------

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-04 22:23:50 +08:00
zhikunyaoandGitHub 9fc0936142 test: add PARALLEL for ut-go tests (#47469)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2026-02-03 19:57:53 +08:00
zhikunyaoandGitHub 2134f83aa3 test: update macos github runner cache (#45778)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-11-23 22:47:24 +08:00
zhikunyaoandGitHub eea9c8093d test: update macos checker to macos-15-intel (#45673)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-11-22 00:07:06 +08:00
zhikunyaoandGitHub aa0870d2ff test: add e2e-v2 helm for amd (#45621)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-11-20 13:45:11 +08:00
zhikunyaoandGitHub 7193d01808 test: support e2e-amd helm in gcp milvus cluster (#45175)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-11-04 15:07:32 +08:00
zhikunyaoandGitHub 950e8f1f92 test: update helm to 5.0.6 for e2e (#45204)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-10-31 18:46:08 +08:00
zhikunyaoandGitHub 7cb7651523 enhance: change dockerfile user to milvus (#44524)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-10-29 11:22:12 +08:00
zhikunyaoandGitHub a75d19a4f0 test: macos checker refresh cache everyday (#45122)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-10-28 15:30:11 +08:00
zhikunyaoandGitHub cab9ee63f6 test: mergify removes ci-passed when only tests changes (#45038)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-10-22 18:56:04 +08:00
zhikunyaoandGitHub c2ed2cfc39 test: support e2e on arm (#44880)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-10-20 10:44:03 +08:00
zhikunyaoandGitHub 3174f517f0 enhance: remove gcc from build dockerfile to fix cve (#44881)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-10-20 09:44:01 +08:00
zhikunyaoandGitHub ca1cc7c9f3 test: mergify support ci-v2/code-check (#44603)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-09-29 11:53:04 +08:00
zhikunyaoandGitHub 008caae713 enhance: base images use https to install apt package (#44382)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-09-16 11:51:59 +08:00
zhikunyaoandGitHub 1d658b5e84 test: fix macos runner image to lower version (#44348)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-09-12 16:55:58 +08:00
zhikunyaoandGitHub 41820a09d0 test: decrease ccache size to save github cache (#44283)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-09-09 16:47:57 +08:00
zhikunyaoandGitHub 716884c0bc test: try to upload conan cache in master branch (#43852)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-08-13 16:24:39 +08:00
zhikunyaoandGitHub ee1749782e test: bump standalone_embed.bat (#43769)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-08-06 18:05:40 +08:00
zhikunyaoandGitHub 6d5fb73fa4 test: add rust to source code megrify rule (#43727)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-08-04 18:43:38 +08:00
zhikunyaoandGitHub c5bb236e1e test: add jobs=8 in e2e and go-sdk tests (#43475)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-07-22 11:48:53 +08:00
zhikunyaoandGitHub 26d6918010 test: add jobs=8 in ut-cpp (#43436)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-07-21 11:40:52 +08:00
zhikunyaoandGitHub 858115bfb8 test: update pytest base image (#43327)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-07-15 15:30:49 +08:00
zhikunyaoandGitHub 37507e265a test: mergify migrate to ci-v2 (#43140)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-07-04 14:32:44 +08:00
zhikunyaoandGitHub a71196ee65 enhance: update minio to RELEASE.2024-05-28T17-19-04Z (#43063)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-07-02 15:30:43 +08:00
zhikunyaoandGitHub 9886d7d4b6 enhance: Master updatecmake zhikun (#43023)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-07-02 11:36:43 +08:00
zhikunyaoandGitHub cfe7fd356d test: [skip e2e]update helm to fix kafka image update (#42993)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-06-27 17:09:14 +08:00
zhikunyaoandGitHub 94e2b05ffd enhance: init v2 ci pipelines policy 2 (#42853)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-06-27 14:33:41 +08:00
zhikunyaoandGitHub b721eed3d6 enhance: [skip e2e]fix legacy mergify config (#41693)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-06-17 10:54:37 +08:00
zhikunyaoandGitHub 3a7b2fef57 enhance: update builder to use dedicated self-hosted runner (#41735)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-05-09 16:52:10 +08:00
zhikunyaoandGitHub ac1e04372f enhance: Update go env to 1.24.1 (#41415)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-04-21 16:29:50 +08:00
zhikunyaoandGitHub 4f93694404 enhance: mergify to check correct ut code (#40723)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-03-18 15:46:25 +08:00
zhikunyaoandGitHub a0763b3c02 enhance: bump etcd version to 3.5.18 (#40231)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-02-27 11:53:58 +08:00
zhikunyaoandGitHub d14bb67c62 enhance: update workflow action upload-artifact to v4 (#39391)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-01-17 15:47:01 +08:00
zhikunyaoandGitHub 714421997c enhance: [skip e2e] update mergify to support macos 13 job (#37844)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2024-11-20 16:52:31 +08:00