Hengfei Yang
3e865a3e6a
ci: update rust ( #12394 )
2026-06-02 03:58:01 +00:00
+5
ae22a74e62
feat: ux improvement main ( #11838 )
...
#11720
Design at:
https://github.com/openobserve/designs/blob/main/dashboards/ux-improvement-dialog/design.md
---------
---------
Co-authored-by: ktx-vaidehi <134508096+ktx-vaidehi@users.noreply.github.com >
Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com >
Co-authored-by: Sai Nikhil <nikhil@openobserve.ai >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech >
Co-authored-by: Bhargav <BJP232004@GMAIL.COM >
Co-authored-by: ktx-mihir <mihir.patel@kiara.tech >
Co-authored-by: ktx-riya <riya.kukadiya@kiara.tech >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Omkar Kesarkhane <127078473+omkarK06@users.noreply.github.com >
Co-authored-by: omkark06 <omkar@zinclabs.io >
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech >
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech >
Co-authored-by: Shrinath Rao <shnath@openobserve.ai >
2026-05-28 11:00:49 +00:00
udev
1bfbb70a62
chore: improve ci rust build cache ( #11426 )
2026-04-25 03:57:30 +00:00
udev
0c050cfbbf
ci: add merge_group trigger to CI workflows for merge queue support ( #11105 )
...
Add merge_group event trigger to all required CI workflows so they run
when PRs enter the merge queue. Fix github.event.pull_request references
in dispatch-event-enterprise.yml to handle merge_group context.
2026-04-01 14:03:37 +05:30
Ashish Kolhe and Claude Opus 4.5
ce09cd0a4d
feat: add js for claim parser ( #9873 )
...
### **User description**
Design at : security/sso-claim-parser/configuration.md
___
### **PR Type**
Enhancement, Tests
___
### **Description**
- Introduce rquickjs-based JS runtime for functions
- Add compile_js_function and apply_js_fn utilities
- Extend pipeline to support JS via CompiledFunctionRuntime
- Update web UI: select JS/VRL transforms, show JS errors
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["FunctionNode"] -->|JS| B["compile_js_function"]
A -->|VRL| C["compile_vrl_function"]
B --> D["apply_js_fn"]
C --> E["apply_vrl_fn"]
D --> F["send to children"]
E --> F
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><details><summary>13
files</summary><table>
<tr>
<td><strong>function.ts</strong><dd><code>Add optional `trans_type` to
TestFunctionPayload</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-c6766f6c671adce05f9eef5d4a57a32371fa7da35628ef5c142fa503d191cb16 ">+16/-0</a>
</td>
</tr>
<tr>
<td><strong>js.rs</strong><dd><code>Introduce JS runtime, compile and
apply functions</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-88e490bed5fa6c9c8e0aa2738b95c5284bb97899298f54b9cd587713e3ef0109 ">+756/-0</a>
</td>
</tr>
<tr>
<td><strong>batch_execution.rs</strong><dd><code>Extend pipeline
execution to handle JS functions</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-3f6824a6eddaf1603e5cb0f1a4311ac6a45e1ffb967266ccc1f0bba944625e69 ">+465/-96</a></td>
</tr>
<tr>
<td><strong>functions.rs</strong><dd><code>Validate and test-run JS
transforms, restrict to _meta</code> </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-ed5611a9aa6b5c033e70d7631ba72fafad3cc842672077a7fcf965d11a4fef23 ">+319/-35</a></td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Forbid JavaScript functions in
pipelines globally</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-c186c796a7bdfd9d1301b1429df11456430f1d0d4758783810b9e2e44384e3b2 ">+39/-1</a>
</td>
</tr>
<tr>
<td><strong>jwt.rs</strong><dd><code>Add JS claim parser execution
function</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-232cab74f4cbf135af424744272e17732fbda8ac005d33c0acb4597e65479d02 ">+25/-2</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Wrap JS compile/apply in ingestion
API</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-7c7b5bca85f0ced652965cae66540c96f56dfcca4f4c16b77bf7b45aac203d1b ">+24/-1</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Include `trans_type` in
test_function API payload</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-a5e1b3644cef9feb689dfe66382e44e5434ecadbff3469127346a333d4733102 ">+8/-3</a>
</td>
</tr>
<tr>
<td><strong>AddFunction.vue</strong><dd><code>UI: add JS/VRL transform
type selector</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-ebfd6c538f3cd3ecb9ab17550fd76e2e89e7a1abccc83a7505077e4af3eee110 ">+42/-25</a>
</td>
</tr>
<tr>
<td><strong>FunctionsToolbar.vue</strong><dd><code>Toolbar: transform
type radio buttons</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-8283d2ff9c4a66b4b59eac306672aca2d54655a462e2ddb88e14e039d79dcdaf ">+51/-3</a>
</td>
</tr>
<tr>
<td><strong>DomainManagement.vue</strong><dd><code>Track claim-parser
function changes for save button</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-5e47cd01fcb63f7ef27dc64d2ecf66c39e17097e29944951c3ae1bfe715bb97c ">+17/-9</a>
</td>
</tr>
<tr>
<td><strong>TestFunction.vue</strong><dd><code>Support JS error
messaging in test UI</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-b9af9a2d1bf04d23422c26a13e6a763c6953c8713357a2f64ed8073ce6c926a3 ">+15/-5</a>
</td>
</tr>
<tr>
<td><strong>PipelineEditor.vue</strong><dd><code>Filter out JS functions
in pipeline editor UI</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-68c21f647336067eb79737ce9aca2d49632f2fa1c0878bcfdae55607e3473a15 ">+12/-4</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Configuration
changes</strong></td><td><details><summary>2 files</summary><table>
<tr>
<td><strong>function.rs</strong><dd><code>Extend `Transform` model for
JS support</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-27c9f3d93723397a0e234bc45c9f543b43eff5fd518d76e735f78d95a58f3f1c ">+16/-6</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Register new `js` utils
module</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-2aa59ce4464e7dbabdb9367fc8bb8c1b489c914b8690577d4916870463ab12db ">+1/-0</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Bug
fix</strong></td><td><details><summary>1 files</summary><table>
<tr>
<td><strong>errors.rs</strong><dd><code>Rename
`MemoryTableOverflowError` display message</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-bf45932466265b732f13d0cd9b9cffbaefbe37c5861ace9315449eeca9250713 ">+1/-1</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>3
files</summary><table>
<tr>
<td><strong>result-array-functions.spec.js</strong><dd><code>Add E2E
tests for `#ResultArray#` functions in UI</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-e9911625ad2bab76f2b760f0ad254791331993a6a874b96f6a11fc6d88038b10 ">+470/-0</a>
</td>
</tr>
<tr>
<td><strong>cleanup.spec.js</strong><dd><code>Clean up JS function test
data in UI tests</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-c214275a512fa285a7e4f2ab61dfcb42d71a0436b0e4241f94d7b45693587983 ">+31/-0</a>
</td>
</tr>
<tr>
<td><strong>page-manager.js</strong><dd><code>Register `FunctionsPage`
in `PageManager`</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-565eab8b3c767ae50c9d05e591621d14f66b81af84d6b5ea6efe136c1c3933df ">+6/-0</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Dependencies</strong></td><td><details><summary>1
files</summary><table>
<tr>
<td><strong>Cargo.toml</strong><dd><code>Add `rquickjs` dependency for
JS runtime</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542 ">+2/-0</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Additional
files</strong></td><td><details><summary>18 files</summary><table>
<tr>
<td><strong>test_functions_meta_org_restriction.py</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-99ef1207d6ae6d7eeaed37d70c8cf0c4770ba78f6f51fbdc067d35492d2fe9ea ">+401/-0</a>
</td>
</tr>
<tr>
<td><strong>test_js_enrichment.py</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-c5547d46bec60b888d947d1e9b7c5445aee72cf8e837182f7138e0fc903eedbb ">+356/-0</a>
</td>
</tr>
<tr>
<td><strong>test_js_result_array.py</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-9ed1363a1f58c94e018bb2b0aaa9d08fa71f89e7e55a6ff6be4a82bbeed8985c ">+390/-0</a>
</td>
</tr>
<tr>
<td><strong>functionsPage.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-7bab9cc2eb8f36d3ee5d0aab453c353ec6d6dfecbc401cf401322ff57faa8440 ">+326/-0</a>
</td>
</tr>
<tr>
<td><strong>javascript-functions.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-bdae6529346a7222bdec19f75f490cb9d0f3578a260ba835225efcd27db3f64e ">+314/-0</a>
</td>
</tr>
<tr>
<td><strong>meta-org-js-restriction.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-16cc2373f6f1955f8344a59d5f2edcd6ce121c4fdee1d432b1f0ec8e27f25881 ">+483/-0</a>
</td>
</tr>
<tr>
<td><strong>FunctionList.vue</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-6ff9af50a1597504b7f0dca91e61cf30c800b4a17b4be2ed2c3a4f7a7b2d7068 ">+1/-0</a>
</td>
</tr>
<tr>
<td><strong>de.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-78f24ecb2dbcfc38fdf3ec22b2559a5b40d236ea689d1c55f5d3e87168310264 ">+30/-18</a>
</td>
</tr>
<tr>
<td><strong>en.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824 ">+15/-7</a>
</td>
</tr>
<tr>
<td><strong>es.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-ac2a2167b8b973e3f776f9fe3b43bef4576470d8ad33f3d7cfaff6edff0e5778 ">+30/-18</a>
</td>
</tr>
<tr>
<td><strong>fr.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-db80e762b88ddf183820c050cdc6b215e6b02b365b5e73f5152af46b0d26f1a2 ">+30/-18</a>
</td>
</tr>
<tr>
<td><strong>it.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-2de78074a5f887afddce60d694ead9322e6ab223eb70251c13819f3028bdc70d ">+30/-18</a>
</td>
</tr>
<tr>
<td><strong>ja.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-092e49c5f9fbc1b539ab9c2866d108d0ce1d314022b4c294eb4611b285e7bbd3 ">+30/-18</a>
</td>
</tr>
<tr>
<td><strong>ko.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-50e27ca1b4825a5026f3a251bfcf79c97cab07cfade2ebd512d332453d707c48 ">+30/-18</a>
</td>
</tr>
<tr>
<td><strong>nl.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-a1706021687ae5d8a1c006c49eab3946174fecd895f9b70a89c2e76d97250906 ">+30/-18</a>
</td>
</tr>
<tr>
<td><strong>pt.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-38e804f64cb5e0e451849fc84e9b46e53c954a4a4263d51c18665ad45f4b4815 ">+30/-18</a>
</td>
</tr>
<tr>
<td><strong>tr.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-6f0f131e9e2591480c4c5d1eaffc72d02dc31cbd8d3f90d8f012f08cabac8818 ">+30/-18</a>
</td>
</tr>
<tr>
<td><strong>zh.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9873/files#diff-8818055db58f83230aeea4ebfd4cec31d924e8c47b6f91298e356959ab25339e ">+254/-242</a></td>
</tr>
</table></details></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-08 22:47:35 +05:30
Yashodhan Joshi and Yashodhan Joshi
8f4cdbb6b5
fix: remove arduino protoc action ( #9725 )
...
### **User description**
We have recently observed that a lot of times the install protoc action
errors, so this instead removes the dependency on action and uses the
release url directly to download protoc. Technically it still goes
through the same github api, but now we have more precise control on
what is being called.
The next best thing would be vendoring the zip itself in the repo, which
I'm not particularly happy with, but can be tried.
___
### **PR Type**
Bug fix, Enhancement
___
### **Description**
- Add manual protoc installation script
- Replace setup-protoc action in workflows
- Support x86_64 and aarch64 detection
- Error handling for unsupported platforms
___
### Diagram Walkthrough
```mermaid
flowchart LR
CI["CI Workflow"] -- "execute protoc.sh" --> Script["protoc.sh"]
Script -- "download & unzip protoc" --> Setup["Protoc setup steps"]
Setup -- "copy binaries & headers" --> Done["Protoc installed"]
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>protoc.sh</strong><dd><code>Add manual protoc
installation script</code>
</dd></summary>
<hr>
.github/protoc.sh
<ul><li>Add shell script for manual protoc install<br> <li> Detect
platform (x86_64, aarch64)<br> <li> Download and unzip specified
release<br> <li> Copy binary and include files system-wide</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9725/files#diff-c91d907e5a707c73726a6c869b8391f8bed703cb1cbe9b54fc81fdef67a3e804 ">+19/-0</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>api-testing.yml</strong><dd><code>Replace setup-protoc
in API testing CI</code>
</dd></summary>
<hr>
.github/workflows/api-testing.yml
<ul><li>Remove arduino/setup-protoc action<br> <li> Add run step
invoking protoc.sh</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9725/files#diff-bf87f46624aaa9c4f1d9faa033baf531a543f2d4ac188cd64e9ab3febfee8f9e ">+2/-3</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>build-pr-image.yml</strong><dd><code>Replace
setup-protoc in build-pr-image CI</code>
</dd></summary>
<hr>
.github/workflows/build-pr-image.yml
- Replace setup-protoc action
- Invoke protoc.sh in build-pr-image CI
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9725/files#diff-ebeabab3ec6b3ad90cc66cb9c0d9f2ad72c7ec6116e30e9801241b46992742d6 ">+8/-6</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>db-testing.yml</strong><dd><code>Replace setup-protoc
in DB testing CI</code>
</dd></summary>
<hr>
.github/workflows/db-testing.yml
- Remove setup-protoc action
- Invoke protoc.sh in DB testing CI
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9725/files#diff-25d80f07432f01a3a288495d1d29a8457c2897d5ec819137dea15ad239b122f9 ">+3/-4</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>Replace setup-protoc
in Playwright CI</code>
</dd></summary>
<hr>
.github/workflows/playwright.yml
- Replace setup-protoc action
- Execute protoc.sh in Playwright CI
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9725/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3 ">+4/-3</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>unit-tests.yml</strong><dd><code>Replace setup-protoc
in unit tests CI</code>
</dd></summary>
<hr>
.github/workflows/unit-tests.yml
<ul><li>Remove setup-protoc action in unit tests<br> <li> Call protoc.sh
when changes detected</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9725/files#diff-cd0effce06f425599e96952f4d5f684641a683f46d9909e7c74a9f8b2f03ccd3 ">+3/-3</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
---------
Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com >
Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com >
2025-12-24 14:16:51 +05:30
Simha G
6ca371ec99
fix: Concurrency control for file locking has multiple anti-concurrent design patterns in the way ( #8523 )
2025-11-17 20:35:43 +08:00
udev and mmosarafO2
7d40316a73
chore: cancel older CI runs ( #8982 )
...
adds concurrency group and cancels CI runs from multiple commits
---------
Co-authored-by: mmosarafO2 <mosraf@openobserve.ai >
2025-11-07 12:38:03 +05:30
ByteBaker
bc38057bbd
fix: resolve unit test hanging issue and remove MySQL from CI
...
- Add --no-cfg-coverage flags to prevent test instrumentation conflicts
- Remove MySQL service and test runs from CI workflow
- Add concurrency controls to cancel redundant workflow runs
- Consolidate cleanup commands for better readability
2025-10-15 10:55:28 +05:30
ByteBaker
c7a064d947
chore: check if code changes before running UT
2025-10-08 14:08:36 +05:30
Prabhat Sharma and mmosarafO2
3e92683350
fix: build manifest of both builds succeed plus more ( #8729 )
...
### **PR Type**
Enhancement
___
### **Description**
- Split PR image builds by architecture
- Unify Dockerfile for both builds
- Improve build cache isolation per arch
- Gate final job on both builds success
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["build_pr_image_amd64"] -- "produces amd64 image" --> C["build"]
B["build_pr_image_arm64"] -- "produces arm64 image" --> C
C -- "runs only if both succeed" --> D["post-build steps"]
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>build-pr-image.yml</strong><dd><code>Split and harden
PR image build workflow</code>
</dd></summary>
<hr>
.github/workflows/build-pr-image.yml
<ul><li>Rename jobs per arch: amd64/arm64<br> <li> Use single Dockerfile
path for both<br> <li> Add arch-scoped cache keys and prefixes<br> <li>
Make final job depend on both success</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8729/files#diff-ebeabab3ec6b3ad90cc66cb9c0d9f2ad72c7ec6116e30e9801241b46992742d6 ">+15/-22</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>Dockerfile.pr</strong><dd><code>Add unified runtime
Dockerfile for PR builds</code>
</dd></summary>
<hr>
deploy/build/Dockerfile.pr
<ul><li>Add Debian slim runtime base<br> <li> Install required runtime
packages<br> <li> Copy binary and init data dir<br> <li> Set default
command to run service</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8729/files#diff-0db44a1fcb127375b96718556fd43c738708efbcaf0f83a9bffe39d4bfa95a02 ">[link]</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: mmosarafO2 <mosraf@openobserve.ai >
2025-10-06 09:17:26 +05:30
Hengfei Yang
97d09eff1e
fix: support prefix star match_all ( #8451 )
2025-09-16 13:05:02 +08:00
dependabot[bot]
6b364a08c4
chore(deps): bump actions/setup-node from 4 to 5 ( #8326 )
2025-09-10 10:40:42 +08:00
dependabot[bot]
b67509266e
chore(deps): bump actions/checkout from 4 to 5 ( #7965 )
2025-08-12 08:58:47 +08:00
Prabhat Sharma
4736a1dad7
ignore yaml and md files for CI
2025-08-11 17:06:35 -07:00
Bhargav and sai nikhil kethe
b032141aae
fix: added unit test case coverage ( #7788 )
...
### **PR Type**
Tests, Enhancement
___
### **Description**
- Include coverage thresholds in Vitest config
- Introduce Bash script for coverage checks
- Extend CI to run frontend coverage checks
- Update npm scripts for coverage verification
___
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>vitest.config.ts</strong><dd><code>Add coverage
thresholds to Vitest config</code>
</dd></summary>
<hr>
web/vitest.config.ts
<ul><li>Add "json-summary" to coverage reporters<br> <li> Define
coverage thresholds (80%) for all metrics<br> <li> Keep existing
exclude/include patterns</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7788/files#diff-c3fc010b682e68f2ed0b7b1485b8aa513443a66d500903b8dff1d65908d02aae ">+7/-1</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>package.json</strong><dd><code>Update npm coverage
scripts</code>
</dd></summary>
<hr>
web/package.json
<ul><li>Modify "test:unit:coverage" to use "--run"<br> <li> Add
"test:coverage:check" script pointing to "./coverage.sh check"</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7788/files#diff-b861012a5dd72b8a9f3281b7cf09f5a779c98569d040b1bbc1db50f1b15e7cce ">+2/-1</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>coverage.sh</strong><dd><code>Add coverage utility Bash
script</code>
</dd></summary>
<hr>
web/coverage.sh
<ul><li>New Bash script supporting "check", "html", "test",
"show-env"<br> <li> Enforce coverage thresholds via Python JSON
parsing<br> <li> Provide usage/help output and environment overrides<br>
<li> Handle errors and missing summary file</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7788/files#diff-a5c51d1d52fd0ff1b77a2dae626334fe574e76d9269a35655543ec4ead5575d2 ">+140/-0</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>unit-tests.yml</strong><dd><code>Integrate frontend
coverage in CI workflow</code>
</dd></summary>
<hr>
.github/workflows/unit-tests.yml
<ul><li>Add "frontend_tests" job for coverage checks<br> <li> Skip tests
if no changes under "web/" directory<br> <li> Setup Node.js and install
dependencies<br> <li> Invoke "./coverage.sh check" in CI</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7788/files#diff-cd0effce06f425599e96952f4d5f684641a683f46d9909e7c74a9f8b2f03ccd3 ">+29/-0</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai >
2025-08-06 14:38:00 +05:30
Huaijin
157919fbe3
ci: add cargo fmt ( #7849 )
...
add cargo fmt to ci
2025-08-05 14:30:18 +08:00
sktrpathi
7eeb37203b
feat: skip UT when code unchanged for UI/API ( #7717 )
2025-07-28 14:21:41 +08:00
Hengfei Yang
14cfcf29dc
ci: update rust to nightly-2025-05-20 ( #7722 )
2025-07-28 11:07:36 +08:00
Hengfei Yang
3102168008
ci: unit test ( #7461 )
...
### **PR Type**
Tests, Enhancement
___
### **Description**
- Enable `ZO_RESULT_CACHE_ENABLED` by default
- Add helper functions and tests for `generate_tantivy_index`
- Add comprehensive Puffin module unit tests
- Update coverage script to install `cargo nextest`
___
### **Changes diagram**
```mermaid
flowchart LR
Config["Change default ZO_RESULT_CACHE_ENABLED"]
TantivyMod["Add generate_tantivy_index tests"]
PuffinMod["Add Puffin module tests"]
Coverage["Update coverage.sh script"]
Config --> TantivyMod
TantivyMod --> PuffinMod
PuffinMod --> Coverage
```
___
### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>config.rs</strong><dd><code>Default result cache
enabled</code>
</dd></summary>
<hr>
src/config/src/config.rs
- Changed default of `ZO_RESULT_CACHE_ENABLED` from false to true
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7461/files#diff-9aeee4a74c0520daa40f9b81c7016f5b6b3254375b968dd7598e745630980d62 ">+1/-1</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>coverage.sh</strong><dd><code>Update coverage
script</code>
</dd></summary>
<hr>
coverage.sh
- Added check/install for `cargo nextest` in coverage task
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7461/files#diff-2033e8e6b7ebfb5c3fe4039f2613d92e65315436b1fdcd3bbe27708370081383 ">+1/-0</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>mod.rs</strong><dd><code>Add generate_tantivy_index
tests</code>
</dd></summary>
<hr>
src/service/tantivy/mod.rs
<li>Added <code>create_test_batch</code> and
<code>create_test_stream</code> helpers<br> <li> Added multiple async
tests for <code>generate_tantivy_index</code> and
<br><code>create_tantivy_index</code>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7461/files#diff-68837d2f393b453002ec2d95f6882cfcaf70d9ef6547be2c9a890e8b0fc3c559 ">+471/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>mod.rs</strong><dd><code>Fix footer size and add puffin
tests</code>
</dd></summary>
<hr>
src/service/tantivy/puffin/mod.rs
<li>Updated <code>FOOTER_SIZE</code> to include trailing magic<br> <li>
Added unit tests for constants and serialization
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7461/files#diff-2f7f0bac01afc6e37908521d1d33d05fcd650b7a08792062976e1e7465b4a1f9 ">+278/-1</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>reader.rs</strong><dd><code>Add puffin reader
tests</code>
</dd></summary>
<hr>
src/service/tantivy/puffin/reader.rs
<li>Added tests for <code>PuffinBytesReader</code> and
<code>PuffinFooterBytesReader</code><br> <li> Covered parsing,
validation, and error scenarios
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7461/files#diff-93d025368ac2b94462df57eb597f345d59967f0dbfb7745a5a7c60b008b85c16 ">+383/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>writer.rs</strong><dd><code>Add puffin writer
tests</code>
</dd></summary>
<hr>
src/service/tantivy/puffin/writer.rs
<li>Added tests for <code>PuffinBytesWriter</code> and
<code>PuffinFooterWriter</code><br> <li> Verified blob writing, footer
structure, and JSON serialization
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7461/files#diff-af51d55696b4d2b7e5f4c0ccd8af73e0b464db0c83114c3882548bee6ada5e1d ">+306/-0</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
___
> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/ ">documentation</a>
for more information.</li></details>
2025-07-04 17:40:29 +05:30
Yashodhan Joshi and Yashodhan Joshi
1785b2b256
test: use multiple dbs ( #7084 )
...
This PR adds support for running unit tests with all three - sqlite,
postgres and mysql. This way we cover their code as well.
---------
Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com >
Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com >
2025-06-10 10:32:00 +05:30
Ashish Kolhe
dbdf4e4dae
chore: rename unit test job ( #7032 )
2025-06-04 18:53:48 +05:30
Hengfei Yang
595490ea33
ci: update rust to nightly-2025-03-02 ( #6145 )
2025-03-02 17:27:10 +08:00
Hengfei Yang
c2d4866565
feat: impl metrics cache ( #5688 )
...
impl #5656
## Todo
- [x] Router consistent hashing for PromQL
- [x] Remove the key from index if the key get nothing from cache
- [x] Some cache item is empty, it should not
- [x] Add cache control ENV: `ZO_METRICS_CACHE_ENABLED=true`
- [ ] Optimize cache gc logic
- [ ] New encoding of RangeValue for cache
- [x] New cache key generate
- [x] Load cache from disk
- [ ] Histogram query OOM without cache for 2 days
- [x] Fix response series order
- [x] Need to check stream is exists
- [x] Add trace_id to the response
2025-01-15 08:59:53 -08:00
Hengfei Yang
d6487eb9fe
ci: update rust version ( #5143 )
2024-11-25 19:20:07 +08:00
Hengfei Yang
03f1b192c2
feat: ugprade rust to 2024-07-07 ( #3922 )
2024-07-08 20:56:56 +08:00
Huaijin
5572cb3e72
perf: disable repartition when sort by timestamp desc ( #3918 )
2024-07-08 19:05:34 +08:00
Taiming Liu
842dbdb647
fix: unnecessary null field during compaction ( #3917 )
2024-07-08 17:43:39 +08:00
Hengfei Yang
569bb121ce
feat: add new node role flatten_compactor ( #3589 )
2024-05-30 18:34:41 +08:00
Hengfei Yang
d84726e5db
refactor: merge parquet files interface ( #3547 )
...
Prepare for vertical partition compact, change the interface first.
2024-05-20 15:31:25 +08:00
Hengfei Yang
e33ae00ea1
feat: merge dev into main ( #3016 )
2024-03-17 22:38:07 +08:00
dependabot[bot]
ab32f8867a
chore(deps): bump arduino/setup-protoc from 2 to 3 ( #2658 )
2024-02-05 23:53:04 +08:00
Ankur Srivastava
9519e2a34c
feat: run unit tests on github actions ( #2394 )
2024-01-16 15:23:18 +01:00