mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-06 08:09:24 +00:00
91c52ea318c8f4c3c978015fea03e69d7a28fdb2
285
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6ca371ec99 | fix: Concurrency control for file locking has multiple anti-concurrent design patterns in the way (#8523) | ||
|
|
9f2e8c87d5 |
test: index-type-testcases (#9115)
1. Verify stream detail access and index type options - Test stream navigation and available configuration options 2. Verify validation error when selecting both index types - Test business rule enforcement for conflicting field configurations 3. Verify index type clearing mechanism works - Test ability to clear field index selections after validation errors |
||
|
|
12a8568bd1 | test: test dino issue fix (#9095) | ||
|
|
4901605a2c |
test: e2e-cmd+enter tests (#9098)
1. Blank SQL Query Error - Verifies proper error message when cmd+enter pressed with empty SQL query 2. Include/Exclude Terms Persistence - Ensures search terms remain visible in log details after query execution 3. API Call Optimization - Validates cmd+enter makes exactly 1 search + 1 histogram call (no duplicates) 4. Editor Cursor Integrity - Confirms cmd+enter doesn't add unwanted characters to Monaco editor --------- Co-authored-by: Shrinath Rao <shnath@openobserve.ai> |
||
|
|
a4dd576df4 | test: unskipped 2 pipeline-core tests (#9085) | ||
|
|
683bf89c7b |
test: Add tests for alerts and pipelines history (#9064)
Co-authored-by: Shrinath Rao <shnath@openobserve.ai> |
||
|
|
8ea3c3240f |
test: updated sharding logic for test dino reporting (#9073)
Co-authored-by: priyabrata-stack <pryabrata@openobserve.ai> |
||
|
|
6b11b81d06 | test: updated testDino workflow order (#9059) | ||
|
|
e26c810ffb | test: testdino retry failed tests flow optimisations (#9015) | ||
|
|
7d40316a73 |
chore: cancel older CI runs (#8982)
adds concurrency group and cancels CI runs from multiple commits --------- Co-authored-by: mmosarafO2 <mosraf@openobserve.ai> |
||
|
|
87ae8953b1 | test: updated testdino approach to work from github variables (#8987) | ||
|
|
6830b2f0b3 | ci: add workflow for logging FEAT/PERF merges to sheet (#8963) | ||
|
|
f61b715a1e |
test: Cleanup Mechanism and ENV Runs for e2e tests (#8839)
### **PR Type** Enhancement, Tests ___ ### **Description** - Add robust alerts cleanup utilities - Improve UI flows and resiliency - Support deployed env testing delays - Add CI cleanup and health checks ___ ### Diagram Walkthrough ```mermaid flowchart LR UI["Playwright UI flows hardened"] API["APICleanup cascade (Alerts→Folders→Destinations→Templates)"] CI["CI workflow targets deployed env"] Delay["Configurable test step delay"] Data["Global ingestion more robust"] UI -- "uses" --> API CI -- "runs cleanup.spec" --> API CI -- "health checks + env vars" --> Data Delay -- "slows page ops" --> UI Data -- "ingest logs with parsing" --> UI ``` <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>7 files</summary><table> <tr> <td><strong>alertDestinationsPage.js</strong><dd><code>Add search, cascade-safe delete, bulk prefix cleanup</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-57e5c53b4ef998b3d8708149620ff94dcc46807927f1a3a9e9f28ed3ebe25b0a">+178/-0</a> </td> </tr> <tr> <td><strong>alertTemplatesPage.js</strong><dd><code>Add template search, in-use handling, prefix cleanup</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-f4ebd248b2140051e74dbbbd1aabe344f01c80704ce5857e9c28a04350e018f3">+177/-2</a> </td> </tr> <tr> <td><strong>alertsPage.js</strong><dd><code>Harden alert actions, bulk deletion, search across folders</code></dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-79ee01d6d7f145f19207b93b87143b545a1188cfc6a82bc8c45fecfbf68f8a1d">+280/-9</a> </td> </tr> <tr> <td><strong>apiCleanup.js</strong><dd><code>New API-based cascade cleanup utility</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-537fe76c0d8e26e81c5f77c83bd0ee35daaa973822105c809bf83171a26b33c5">+399/-0</a> </td> </tr> <tr> <td><strong>page-manager.js</strong><dd><code>Wire APICleanup into PageManager</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-565eab8b3c767ae50c9d05e591621d14f66b81af84d6b5ea6efe136c1c3933df">+4/-0</a> </td> </tr> <tr> <td><strong>baseFixtures.js</strong><dd><code>Add configurable test step delay hooks</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-c4c5ee7fbb248d1ab14d3d4e33ffb9626f9aab74c9e0207fcfc08051c8c3c7ee">+46/-0</a> </td> </tr> <tr> <td><strong>global-setup.js</strong><dd><code>Harden login and ingestion with diagnostics</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-06323dad7214f86b41b62e121e716eeea0054bc4d950c6bcf4a0efe53894acc8">+61/-22</a> </td> </tr> </table></details></td></tr><tr><td><strong>Bug fix</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>commonActions.js</strong><dd><code>Fix ingestion URLs to use org variable</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-4d726dd2bdb34b2c90a31798ff49b6df5bc952bd049b7c38bebb18b6db0076e2">+4/-4</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>4 files</summary><table> <tr> <td><strong>alerts-e2e-flow.spec.js</strong><dd><code>Pre-move folder cleanup and stabilization</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-32972e38c1fe0e8bb887f9f254b3130916a36f96ea924f9987493d44efefeab9">+13/-3</a> </td> </tr> <tr> <td><strong>alerts-import.spec.js</strong><dd><code>Use dedicated invalid import test data</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-62b6ec4818685eacc0a934d68aaadfd73b512ef4f4be25fcd5135b97c2844912">+1/-1</a> </td> </tr> <tr> <td><strong>cleanup.spec.js</strong><dd><code>New pre-test API cleanup spec</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-c214275a512fa285a7e4f2ab61dfcb42d71a0436b0e4241f94d7b45693587983">+29/-0</a> </td> </tr> <tr> <td><strong>invalid-alert.json</strong><dd><code>Add invalid alert sample for import tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-c695f71048e9393a45d3e3e3e415696559fecf3ba85712e7c3f366092f53f424">+24/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Configuration changes</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>playwright.yml</strong><dd><code>Target deployed env; add cleanup job and health checks</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8839/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+123/-65</a></td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
603d641b01 | test: test dino upload flag added (#8945) | ||
|
|
2cf0d2dc29 | ci: add complete sha in dispatch params (#8765) | ||
|
+3 |
450da5349e |
feat: UI explain query (#8831)
### **PR Type** Enhancement, Documentation ___ ### **Description** - Add query plan dialog with EXPLAIN/ANALYZE - Parse, render plan tree with metrics - Integrate Explain button in logs toolbar/menu - Add i18n strings for new UI labels ___ ### Diagram Walkthrough ```mermaid flowchart LR SearchBar["Logs SearchBar (Explain button)"] -- "opens" --> Dialog["QueryPlanDialog (q-dialog)"] Dialog -- "calls" --> StreamingSearch["streaming_search.search()"] StreamingSearch -- "SSE data" --> Dialog Dialog -- "parse/format" --> Parser["queryPlanParser (parse tree + metrics)"] Dialog -- "render" --> Tree["QueryPlanTree/Node components"] Dialog -- "summary" --> MetricsCard["MetricsSummaryCard"] Dialog -- "i18n labels" --> I18n["en.json additions"] ``` <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>7 files</summary><table> <tr> <td><strong>queryPlanParser.ts</strong><dd><code>Add parser and metrics utilities for DataFusion plans</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-417957960e379b5c5b042e5eb14acb7dcabfb966c81fbd2965eea383d408add5">+319/-0</a> </td> </tr> <tr> <td><strong>QueryPlanDialog.vue</strong><dd><code>New dialog to fetch, parse, and display plans</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-857bd0334ca601c4cd4e3ce2be7bff0dca583460a2fdf02d6d1c2f25a65f0ccd">+495/-0</a> </td> </tr> <tr> <td><strong>CollapsibleProjection.vue</strong><dd><code>Collapsible projection field list renderer</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-0768b03cd68e1d7060a7a328e333a1a21a052d3d00719fdaf722c7068e044bd6">+135/-0</a> </td> </tr> <tr> <td><strong>MetricsSummaryCard.vue</strong><dd><code>Summary card for time, rows, memory metrics</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-dc065cd3367a2c32b655a3cf9654e57eed85d6924bf81e2df39cf21a0c596433">+151/-0</a> </td> </tr> <tr> <td><strong>QueryPlanNode.vue</strong><dd><code>Tree node component with metrics and collapse</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-db861376fe96048a639c4810804dd2ecd8a95058dac0f40ca23cc41afa4e1a67">+293/-0</a> </td> </tr> <tr> <td><strong>QueryPlanTree.vue</strong><dd><code>Render plan as expandable ASCII tree</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-301d8f706ec4e5a46f580b4cca08bd951743a0ad5419295ab79956e5f68ec6c0">+77/-0</a> </td> </tr> <tr> <td><strong>SearchBar.vue</strong><dd><code>Add Explain button and dialog wiring in toolbar/menu</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-81893de4edf186b0556f610acb280c87baa2ffe67d3b48a60a866094c7635baf">+51/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>en.json</strong><dd><code>Add i18n strings for query plan UI</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8831/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+22/-1</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Signed-off-by: loaki07 <rustyloaki@gmail.com> Co-authored-by: Abhay Padamani <141122205+ktx-abhay@users.noreply.github.com> Co-authored-by: Loakesh Indiran <66478092+Loaki07@users.noreply.github.com> Co-authored-by: Shrinath Rao <shnath@openobserve.ai> Co-authored-by: Harsh Mahajan <115500013+007harshmahajan@users.noreply.github.com> Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com> Co-authored-by: ByteBaker <42913098+ByteBaker@users.noreply.github.com> Co-authored-by: Sai Nikhil <nikhil@openobserve.ai> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ktx-akshay <akshay.patil@kiara.tech> Co-authored-by: Huaijin <haohuaijin@gmail.com> Co-authored-by: Simha G <149056463+yaga-simha@users.noreply.github.com> Co-authored-by: omkark06 <omkar@zinclabs.io> |
||
|
|
1ee98654ca |
fix: resolve flaky behavior in dashboard tests (#8840)
### **PR Type**
Bug fix, Tests
___
### **Description**
- Stabilize dashboard chart rendering waits
- Replace network idle with canvas detection
- Add explicit chart render wait helper
- Adjust workflow Node action version
___
### Diagram Walkthrough
```mermaid
flowchart LR
Tests["Dashboard tests"] -- "add render waits" --> Transpose["Transpose spec"]
Tests -- "replace networkidle with selector" --> DashboardSpec["Dashboard spec"]
CI["Playwright workflow"] -- "use setup-node v4" --> NodeSetup["Node action updated"]
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>dashboard-transpose.spec.js</strong><dd><code>Add
explicit chart render wait in transpose test</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/dashboards/dashboard-transpose.spec.js
<ul><li>Wait for chart render after apply<br> <li> Update comments to
reflect rendering wait</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8840/files#diff-da631007cea76a4bc59e4acd1195b59ae4131cd5208d21a9c1f94d3913911dc4">+3/-2</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>dashboard.spec.js</strong><dd><code>Use canvas-based
wait to reduce flakiness</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/dashboards/dashboard.spec.js
<ul><li>Replace networkidle waits with canvas selector<br> <li> Add
targeted wait for chart canvas attachment<br> <li> Remove redundant
networkidle wait</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8840/files#diff-d0fa0042783dc109334b05266edce228bad97adcb568dd1e447920596238e9b4">+5/-3</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>Update GitHub Action
setup-node to v4</code>
</dd></summary>
<hr>
.github/workflows/playwright.yml
<ul><li>Downgrade actions/setup-node from v5 to v4<br> <li> Keep Node.js
version at 22</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8840/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+1/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
e15357f0bc | chore(deps): bump actions/setup-node from 4 to 5 (#8797) | ||
|
|
a1f827d200 | chore(deps): bump peter-evans/repository-dispatch from 3 to 4 (#8738) | ||
|
|
c5ea42ec2a |
test: UTF8 queries pytests (#8818)
### **PR Type**
Tests
___
### **Description**
- Add regression tests for substr subqueries
- Validate env flags causing Utf8View panic
- Add alternative query pattern coverage
- Verify data content and string functions
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["Env flags set via monkeypatch"] -- "enable JOIN_MATCH_ONE, UTF8_VIEW" --> B["Execute queries against stream_pytest_data"]
B -- "substr + IN subquery" --> C["Assert 200, validate hits"]
B -- "alternative IN/JOIN/CONCAT/length" --> D["Cross-validate no Utf8View error"]
B -- "data verification" --> E["Inspect container names/prefixes"]
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>test_subquery_join_match.py</strong><dd><code>Add
regression and coverage tests for substr subqueries</code>
</dd></summary>
<hr>
tests/api-testing/tests/test_subquery_join_match.py
<ul><li>Add end-to-end regression tests reproducing Utf8View panic<br>
<li> Set env vars via monkeypatch for failing conditions<br> <li> Cover
substr IN, JOIN, CONCAT, and length() variants<br> <li> Add data
verification and structural assertions on hits</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8818/files#diff-facac795b55980509f22b59fec9090910a8eb2c8d442936114c4b11f11008152">+564/-0</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
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 |
||
|
|
9329c12a0c |
test: updated merge logic for test dino upload (#8793)
### **PR Type**
Tests, Enhancement
___
### **Description**
- Use Playwright blob reporter on CI
- Merge shard reports via playwright merge-reports
- Streamline GitHub Actions artifacts and steps
- Update Node.js to 22 in merge job
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["Playwright tests (CI shards)"] -- "reporter: blob" --> B["blob-report artifacts"]
B -- "download & merge" --> C["playwright merge-reports"]
C -- "outputs" --> D["playwright-results/report.json + html-report"]
D -- "tdpw upload" --> E["TestDino"]
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.config.js</strong><dd><code>Conditional blob
reporter for CI</code>
</dd></summary>
<hr>
tests/ui-testing/playwright.config.js
<ul><li>CI uses <code>['blob']</code> reporter<br> <li> Local keeps HTML
and JSON reporters<br> <li> Enables cross-shard report merging</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8793/files#diff-91cb9615068914b2e4f5d66fcbed50d3e9771ea2d882f8e8048bbe54eab3c414">+6/-4</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>Artifact flow: blob
upload, merge, TestDino upload</code>
</dd></summary>
<hr>
.github/workflows/playwright.yml
<ul><li>Comment out many test matrices<br> <li> Remove per-matrix
JSON/HTML upload steps<br> <li> Upload blob reports; merge with
Playwright<br> <li> New job merges and uploads to TestDino; Node 22</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8793/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+117/-236</a></td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
e985244b61 |
test: e2e test dino poc (#8771)
### **PR Type**
Enhancement, Tests, Documentation
___
### **Description**
- Add Playwright JSON reporter for TestDino.
- Upload Alerts results to TestDino in CI.
- Limit matrix to Alerts specs for POC.
- Create result folders in workflow.
___
### Diagram Walkthrough
```mermaid
flowchart LR
PWCFG["Playwright config: JSON + HTML reporters"] -- "emit report.json, html-report" --> RESULTS["playwright-results/"]
GHA["GitHub Actions workflow"] -- "create results dirs" --> RESULTS
GHA -- "run Alerts specs only" --> TESTS["Alerts test run"]
TESTS -- "produce reports" --> RESULTS
GHA -- "tdpw upload" --> TESTDINO["TestDino platform"]
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Formatting</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>alerts-e2e-flow.spec.js</strong><dd><code>Minor comment
tweak in Alerts E2E spec</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/Alerts/alerts-e2e-flow.spec.js
- Minor comment formatting change.
- No functional impact.
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8771/files#diff-32972e38c1fe0e8bb887f9f254b3130916a36f96ea924f9987493d44efefeab9">+1/-1</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.config.js</strong><dd><code>Add JSON
reporter and configure HTML output</code>
</dd></summary>
<hr>
tests/ui-testing/playwright.config.js
<ul><li>Replace single HTML reporter with array.<br> <li> Configure HTML
output folder path.<br> <li> Add JSON reporter writing to
<code>playwright-results/report.json</code>.</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8771/files#diff-91cb9615068914b2e4f5d66fcbed50d3e9771ea2d882f8e8048bbe54eab3c414">+4/-1</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>CI: Upload Playwright
results to TestDino, scope to Alerts</code></dd></summary>
<hr>
.github/workflows/playwright.yml
<ul><li>Temporarily narrow matrix to <code>Alerts</code> tests.<br> <li>
Create <code>tests/ui-testing/playwright-results</code> directory.<br>
<li> Add TestDino upload step with token auth.<br> <li> Comment out
other suites and some Alert specs.</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8771/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+101/-92</a></td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: Claude <noreply@anthropic.com>
|
||
|
|
8ed584521f | chore: increase minimum coverage threshold for API | ||
|
|
c7a064d947 | chore: check if code changes before running UT | ||
|
|
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>
|
||
|
|
e70455bfd9 |
test: add custom variable tests for dashboard (#8401)
### **PR Type**
Enhancement, Tests
___
### **Description**
- Add custom value search to variables
- Introduce streaming-aware dashboard tests
- Add streaming state management helper
- Update CI to run streaming tests
___
### Diagram Walkthrough
```mermaid
flowchart LR
vars["DashboardVariables.addDashboardVariable(custom search)"]
mgmt["ManagementPage.setStreamingState()"]
filtSpec["dashboard-filter.spec: custom value search test"]
streamSpec["dashboard-streaming.spec: streaming search test"]
ci["Playwright workflow: Dashboards-Streaming job"]
vars -- "support custom value search" --> filtSpec
mgmt -- "toggle streaming on/off" --> streamSpec
streamSpec -- "verifies _values_stream calls" --> ci
filtSpec -- "validates _values calls" --> ci
```
<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>dashboard-variables.js</strong><dd><code>Support custom
value search for variables</code>
</dd></summary>
<hr>
tests/ui-testing/pages/dashboardPages/dashboard-variables.js
<ul><li>Extend addDashboardVariable with custom search mode<br> <li>
Conditionally skip early save/close for custom search<br> <li> Implement
custom value entry flow in settings</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8401/files#diff-67d38d39bb67f4a0cbfa473ee81ad50b1fffebc40c635417e58905f3c865a6e2">+48/-8</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>managementPage.js</strong><dd><code>Add streaming state
management utility</code>
</dd></summary>
<hr>
tests/ui-testing/pages/generalPages/managementPage.js
<ul><li>Add setStreamingState helper<br> <li> Navigate to settings and
toggle streaming<br> <li> Verify final toggle state with
aria-checked</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8401/files#diff-2e67acc9ff9099e14792ddeb7d0160268727fb064b85e6712f6434130cc23fdd">+48/-0</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>dashboard-filter.spec.js</strong><dd><code>Add custom
value search e2e test</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/dashboards/dashboard-filter.spec.js
<ul><li>Add test for custom value dropdown search<br> <li> Capture and
assert /_values responses status<br> <li> Configure panel and filter
using variable<br> <li> Ensure dashboard cleanup</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8401/files#diff-c48a796836a25b90a9f94af58273ea9fd1b36248ca8689075c3d48be77de1468">+110/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>dashboard-streaming.spec.js</strong><dd><code>Add
streaming-aware dashboard tests</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/dashboards/dashboard-streaming.spec.js
<ul><li>New serial test suite for streaming<br> <li> Enable/disable
streaming via page object<br> <li> Validate _values_stream requests and
200 status<br> <li> Full dashboard create, filter, save, cleanup</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8401/files#diff-92f44296937f53cb448371d1c61510c8c910fbecab83b02b8e89490d5832be19">+152/-0</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>CI: run streaming
dashboard tests</code>
</dd></summary>
<hr>
.github/workflows/playwright.yml
<ul><li>Add Dashboards-Streaming matrix entry<br> <li> Map folder to
Dashboards path<br> <li> Run dashboard-streaming.spec.js on Chrome</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8401/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+4/-2</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
8ede92a58f |
ci: updated oss strapi notification to pusblish content (#8465)
### **User description**
updated oss strapi notification to pusblish content
___
### **PR Type**
Enhancement
___
### **Description**
- Improve changelog cleaning logic robustness
- Stop at 'New contributors' section
- Exclude binaries and links from notes
- Publish Strapi release entries by default
___
### Diagram Walkthrough
```mermaid
flowchart LR
GH["GitHub Release (tag)"] -- "Fetch & clean body" --> Clean["Enhanced changelog cleaner"]
Clean -- "Cleaned notes" --> Payload["Build payload for Strapi"]
Payload -- "POST status=published" --> Strapi["Strapi /api/github-releases"]
```
<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>release.yml</strong><dd><code>Refine changelog cleaner
and publish status</code>
</dd></summary>
<hr>
.github/workflows/release.yml
<ul><li>Rewrote <code>cleanChangelog</code> to iterative parser.<br>
<li> Stops at 'New contributors'; removes links and binaries lines.<br>
<li> Preserves non-empty cleaned lines only.<br> <li> Changes Strapi API
call query to <code>status=published</code>.</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8465/files#diff-87db21a973eed4fef5f32b267aa60fcee5cbdf03c67fafdc2a9b553bb0b15f34">+13/-14</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
|
||
|
|
97d09eff1e | fix: support prefix star match_all (#8451) | ||
|
|
50490671db |
test: create org testcases (#8362)
### **PR Type**
Tests, Enhancement
___
### **Description**
- Add comprehensive org CRUD Playwright tests
- Implement org delete via API and UI
- Add helper to extract org identifier
- Fix verifyOrgNotExists usage and CI suite
___
### Diagram Walkthrough
```mermaid
flowchart LR
Tests["New Playwright org tests"] -- "uses" --> CreateOrgPage["CreateOrgPage page object"]
CreateOrgPage -- "adds" --> DeleteAPI["deleteOrgViaAPI()"]
CreateOrgPage -- "adds" --> DeleteUI["deleteOrgViaUI()"]
CreateOrgPage -- "adds" --> GetIdentifier["getOrgIdentifierFromTable()"]
Workflow["GitHub Actions workflow"] -- "runs" --> Tests
```
<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>createOrgPage.js</strong><dd><code>Enhance
CreateOrgPage with delete and identifier utilities</code></dd></summary>
<hr>
tests/ui-testing/pages/generalPages/createOrgPage.js
<ul><li>Import Playwright <code>expect</code>.<br> <li> Remove param
from <code>verifyOrgNotExists</code>.<br> <li> Add
<code>deleteOrgViaAPI</code> with Basic Auth DELETE call.<br> <li> Add
<code>deleteOrgViaUI</code> with fallback selectors and confirm
flow.<br> <li> Add <code>getOrgIdentifierFromTable</code> utility
parsing table cells.</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8362/files#diff-e3ff7268323b35f1798acb81fcd3541e0d2ee7c283124a064854ac9f6e67beb8">+113/-3</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>org.spec.js</strong><dd><code>New Playwright org
management E2E tests</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/GeneralTests/org.spec.js
<ul><li>Add full CRUD and validation test suite.<br> <li> Cover API/UI
creation, search, negatives, special chars.<br> <li> Implement cleanup
via API with UI fallback.<br> <li> Use test logger and base navigation
setup.</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8362/files#diff-ab00b9371adadcb16226e3afb422dcab9e6fb0b99a3b43766d4bdda6b12f4378">+556/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>usersOrg.spec.js</strong><dd><code>Fix
verifyOrgNotExists usage in user-org tests</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/GeneralTests/usersOrg.spec.js
<ul><li>Update <code>verifyOrgNotExists</code> call signature.<br> <li>
Remove redundant <code>expect</code> argument.</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8362/files#diff-0bf40521e88d2cf427617e49affa14d4ebe469b6da4ea4aeef4fe3e246eb24c7">+1/-1</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>Run organization tests
in CI workflow</code>
</dd></summary>
<hr>
.github/workflows/playwright.yml
<ul><li>Add <code>org.spec.js</code> to CI run files.<br> <li> Ensure
org tests run in workflow.</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8362/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+1/-0</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
6b364a08c4 | chore(deps): bump actions/setup-node from 4 to 5 (#8326) | ||
|
|
cabbacf970 |
test: e2e logs downloads test cases (#8001)
### **PR Type**
Tests, Enhancement
___
### **Description**
- Add comprehensive logs download E2E tests
- Implement download utilities in logs page
- Add ingestion via fetch with basic auth
- Update CI to run new tests
___
### Diagram Walkthrough
```mermaid
flowchart LR
Tests["Playwright tests: logsDownloads.spec.js"]
Page["LogsPage: download + ingestion utilities"]
CI["CI workflow: include logsDownloads"]
App["Logs UI (existing)"]
Tests -- "uses" --> Page
CI -- "runs" --> Tests
Page -- "ingests data, verifies CSVs" --> App
```
<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>logsPage.js</strong><dd><code>Add ingestion and CSV
download utility methods</code>
</dd></summary>
<hr>
tests/ui-testing/pages/logsPages/logsPage.js
<ul><li>Add ingestion via page-evaluated fetch with Basic auth.<br> <li>
Add download helpers: setup, cleanup, wait, verify.<br> <li> Add UI
actions for download menus and SQL editor clear.<br> <li> Import fs/path
and minor selector utilities.</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8001/files#diff-8045b343491d8943869c1af74cdafab204dc49c02a70294417e73f47d35e0b59">+149/-2</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>logsDownloads.spec.js</strong><dd><code>Add
comprehensive logs CSV download tests</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/Logs/logsDownloads.spec.js
<ul><li>Add E2E tests for CSV downloads (normal/custom).<br> <li> Verify
row counts for multiple custom ranges.<br> <li> Add SQL mode LIMIT 2000
download test.<br> <li> Manage temp download directory per test
run.</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8001/files#diff-90f04cfe53caddf683cc4466e9e97af96d7eb90d636bf6b0f5cdc4b76dc395ac">+265/-0</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>Update CI to run new
download tests</code>
</dd></summary>
<hr>
.github/workflows/playwright.yml
<ul><li>Include logsDownloads.spec.js in Logs-Queries suite.<br> <li>
Re-enable visualize.spec.js in Dashboards-Charts.</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8001/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+2/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: Claude <noreply@anthropic.com>
|
||
|
|
62d5f2d9e2 |
test: dashboard max query range limit (#6813)
### **PR Type**
Tests, Enhancement
___
### **Description**
- Add dashboard max query range UI test
- Introduce StreamSettingsPage page object
- Enhance ManagementPage with streaming toggles
- Include maxquery test in CI workflow
___
### Diagram Walkthrough
```mermaid
flowchart LR
spec["Add maxquery Playwright spec"] -- uses --> pm["PageManager utilities"]
spec -- updates --> streamPage["StreamSettingsPage (new)"]
spec -- verifies --> uiWarn["Max duration warning visible"]
pm -- ensures --> streamingDisabled["Streaming disabled via ManagementPage"]
ci["GitHub Actions workflow"] -- includes --> spec
```
<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>streams.js</strong><dd><code>New StreamSettingsPage for
stream max query updates</code>
</dd></summary>
<hr>
tests/ui-testing/pages/dashboardPages/streams.js
<ul><li>Add StreamSettingsPage class<br> <li> Implement max query range
update flow<br> <li> Add stable locators and waits<br> <li> Handle modal
close after save</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/6813/files#diff-2f4da2122993aa2151d167a8b60db3ebe382cf4d420a20d18c2b0bc6f38ecab5">+57/-0</a>
</td>
</tr>
<tr>
<td>
<details>
<summary><strong>managementPage.js</strong><dd><code>ManagementPage
refactor and streaming toggle helpers</code>
</dd></summary>
<hr>
tests/ui-testing/pages/generalPages/managementPage.js
<ul><li>Refactor to modern style and quotes<br> <li> Add navigation
helpers with validation<br> <li> Add enable/disable streaming
utilities<br> <li> Improve selectors and waits</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/6813/files#diff-2e67acc9ff9099e14792ddeb7d0160268727fb064b85e6712f6434130cc23fdd">+162/-89</a></td>
</tr>
</table></td></tr><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>maxquery.spec.js</strong><dd><code>Playwright spec for
dashboard max query warning</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/dashboards/maxquery.spec.js
<ul><li>Add end-to-end test for max query limit<br> <li> Use PageManager
and StreamSettingsPage<br> <li> Validate warning visibility and API
response<br> <li> Restore stream setting after test</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/6813/files#diff-bfd34c3de558a41ff9397468dca4b855e2ee821b250087832f6f36fca8e2c36f">+107/-0</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>CI includes max query
dashboard test</code>
</dd></summary>
<hr>
.github/workflows/playwright.yml
<ul><li>Add maxquery.spec.js to Dashboards-Core matrix<br> <li> Minor
YAML formatting adjustments<br> <li> Preserve existing test
matrices</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/6813/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+75/-70</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
261aea6929 |
test: playwright upload artifact error fixes (#8190)
### **PR Type**
Tests, Enhancement
___
### **Description**
- Add conditional artifact upload guards
- Make report artifact names matrix-aware
- Preserve stream name test comment clarity
___
### Diagram Walkthrough
```mermaid
flowchart LR
tests["Playwright tests"] -- "produce reports/coverage" --> outputs["Reports & Coverage"]
outputs -- "conditional check" --> uploadPR["Upload Playwright Report"]
outputs -- "conditional check" --> uploadCov["Upload Coverage Report"]
matrix["Matrix folder name"] -- "used in name" --> uploadPR
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>streamname.spec.js</strong><dd><code>Comment clarity
for ingestion loop</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/Streams/streamname.spec.js
- Fix comment wording to singular
- No functional code changes
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8190/files#diff-49828efdc034005c097422deadc8b892bb1e54942d024e40d640fd10c5aa2793">+1/-1</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>Conditional artifact
uploads and better naming</code>
</dd></summary>
<hr>
.github/workflows/playwright.yml
<ul><li>Add hashFiles guard for report upload<br> <li> Rename report
artifact to include matrix folder<br> <li> Add guard for coverage report
upload<br> <li> Add explicit step name for report upload</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8190/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+5/-3</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
182332a490 |
fix: enhance dashboard transpose validation in UI tests (#8167)
### **PR Type**
Tests, Enhancement
___
### **Description**
- Strengthen transpose table validations
- Add waits for table render stability
- Handle missing/variant table structures
- Safeguard comparisons with conditional checks
___
### Diagram Walkthrough
```mermaid
flowchart LR
Start["Open config & apply transpose"] -- "capture headers & data" --> Initial["Initial table snapshot"]
Initial -- "click transpose" --> Action["Trigger transpose"]
Action -- "wait & detect table" --> Detect["Table presence check"]
Detect -- "tbody rows" --> Capture["Capture transposedData"]
Detect -- "fallback all rows" --> Capture
Capture -- "flatten headers vs values" --> Flatten["Flatten initial data"]
Flatten -- "sort & compare" --> Assert["Assert equality"]
Detect -- "no data" --> Error["Throw diagnostic error"]
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>dashboard-transpose.spec.js</strong><dd><code>Make
transpose test resilient and diagnostic</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/dashboards/dashboard-transpose.spec.js
<ul><li>Wait for table load and render before reads<br> <li> Robust
transposed data capture with fallbacks<br> <li> Conditional compare with
safer data flattening<br> <li> Diagnostic error path when no data
captured</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8167/files#diff-da631007cea76a4bc59e4acd1195b59ae4131cd5208d21a9c1f94d3913911dc4">+79/-27</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
24fca0d8bd |
test: e2e-add-to-table-tests (#8257)
### **PR Type**
Tests, Enhancement
___
### **Description**
- Add logs table field management tests
- Extend LogsPage POM with field actions
- Integrate new test into Playwright workflow
- Include ingestion helper for test setup
___
### Diagram Walkthrough
```mermaid
flowchart LR
POM["LogsPage POM"]
Tests["logstable.spec.js"]
CI["playwright.yml matrix"]
Ingest["Ingestion helper"]
Tests -- "uses" --> POM
Tests -- "posts logs" --> Ingest
CI -- "runs" --> Tests
```
<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>logsPage.js</strong><dd><code>POM: field add/remove
helpers for logs table</code>
</dd></summary>
<hr>
tests/ui-testing/pages/logsPages/logsPage.js
<ul><li>Add hover, add, remove field helpers<br> <li> Add table header
visibility assertions<br> <li> Introduce negative assertion via source
column<br> <li> Minor waits for UI stability</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8257/files#diff-8045b343491d8943869c1af74cdafab204dc49c02a70294417e73f47d35e0b59">+25/-0</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>logstable.spec.js</strong><dd><code>Add logs table
field management E2E tests</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/Logs/logstable.spec.js
<ul><li>New E2E tests for add/remove field<br> <li> Test for field
persistence after refresh<br> <li> Ingestion helper posts logs before
tests<br> <li> Setup ensures quick mode is off</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8257/files#diff-4d69d08f317ffc4a26179c74da0418c4db4184ce5f4f96a8df70af7a5a02008c">+149/-0</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>CI: include logs table
tests in workflow</code>
</dd></summary>
<hr>
.github/workflows/playwright.yml
<ul><li>Add logstable.spec.js to Logs-Core matrix<br> <li> Ensure CI
runs new tests</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8257/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+2/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: hengfei yang <hengfei.yang@gmail.com>
|
||
|
|
b9548ec4ac |
ci: fixed o2 strapi workflow notfication issue (#8218)
### **User description**
fixed o2 strapi workflow notfication issue
___
### **PR Type**
Enhancement, Bug fix
___
### **Description**
- Inline Strapi release notification in main workflow
- Remove redundant public release webhook workflow
- Use self-hosted runner for release job
- Fix Strapi endpoint path and query
___
### Diagram Walkthrough
```mermaid
flowchart LR
build["Build artifacts"] -- "needs" --> release["Release job (self-hosted)"]
release -- "Publish GitHub release" --> gh["GH Release"]
gh -- "Fetch release by tag" --> script["Github Script"]
script -- "POST payload" --> strapi["Strapi webhook /api/github-releases?status=draft"]
```
<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>github-release-public.yml</strong><dd><code>Delete
redundant public release webhook workflow</code>
</dd></summary>
<hr>
.github/workflows/github-release-public.yml
<ul><li>Remove standalone release webhook workflow<br> <li> Consolidate
Strapi notification into main pipeline</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8218/files#diff-be2459e6c9f39dcebd00322123da352105ab53279e8b1a67bcb84de22e1f2841">+0/-66</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>release.yml</strong><dd><code>Add Strapi notification
and update runner</code>
</dd></summary>
<hr>
.github/workflows/release.yml
<ul><li>Switch release job to self-hosted runner<br> <li> Add Strapi
notification step post-release<br> <li> Fetch release by tag and clean
changelog<br> <li> Update webhook URL path and include auth headers</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8218/files#diff-87db21a973eed4fef5f32b267aa60fcee5cbdf03c67fafdc2a9b553bb0b15f34">+60/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
---------
Co-authored-by: Shrinath Rao <shnath@openobserve.ai>
|
||
|
|
e2ad15f0c0 |
test: Framework rework Playwright e2e tests (#8118)
### **PR Type** Tests, Enhancement ___ ### **Description** - Migrate sanity tests to enhanced framework - Add robust SanityPage page-object methods - Introduce logging and wait helpers - Refactor service account tests setup ___ ### Diagram Walkthrough ```mermaid flowchart LR Specs["Playwright specs (sanity, serviceAccount)"] Utils["Enhanced test utils (fixtures, logger, waits)"] Pages["New page objects (SanityPage, etc.)"] Archives["Old specs archived (_old)"] Specs -- "use" --> Utils Specs -- "call" --> Pages Legacy["Legacy inline flows"] -- "moved to" --> Archives Legacy -- "replaced by" --> Pages ``` <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>1 files</summary><table> <tr> <td><strong>sanityPage.js</strong><dd><code>New Sanity page object with robust flows</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-a0ac0217ef875311dc536edb97deda19927a64e73cede62123b97cbe7df113b8">+669/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>sanity.spec.js</strong><dd><code>Refactor to enhanced fixtures and page object</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-89290ca55858ff744863278ee9381e32276c37a6c0718fb3f9dcba71a6451d91">+159/-442</a></td> </tr> <tr> <td><strong>serviceAccount.spec.js</strong><dd><code>Migrate service account tests to enhanced setup</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-270e1e217b97afe4d451df3a48a0bfb14db453241adf1b7388342292707d5bb1">+114/-36</a></td> </tr> </table></details></td></tr><tr><td><strong>Miscellaneous</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>sanity.spec_old.js</strong><dd><code>Archive legacy sanity spec implementation</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-51cb8e6cd5047c3d1ace254fa770ae74a3c13aa97e93315132dede6c4a84739a">+498/-0</a> </td> </tr> <tr> <td><strong>sanity2.spec_old.js</strong><dd><code>Archive legacy sanity2 spec with helpers</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-0e189adff26af46cfcc03f014d522c6a37ac268f7ad3e1a3ace1267bd64161e3">[link]</a> </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>31 files</summary><table> <tr> <td><strong>playwright.yml</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+7/-8</a> </td> </tr> <tr> <td><strong>package.json</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-a41ba7975823b7b2dc071285391f835fbefd33bfffeb5aa2fba3ae15425cc64f">+2/-1</a> </td> </tr> <tr> <td><strong>changeOrgPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-1061a261a5b7ae8ffd6c4b48e382bb262289aacca97207aa15f00053b822038b">+224/-0</a> </td> </tr> <tr> <td><strong>enrichmentPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-98a7e60352ddf3be23cf70170559e637ef448c189cd9414448e9afff897c3019">+507/-0</a> </td> </tr> <tr> <td><strong>schemaLoadPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-6f0791c152c7a17e60e0167d52c4032edc6384553b69b9a94b81e380e98dd1d3">+265/-0</a> </td> </tr> <tr> <td><strong>schemaPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-1c0c0fc2fdbebae8c8aa7bef5ba92d31dee65238272581453e6f2b9a3f135468">+397/-0</a> </td> </tr> <tr> <td><strong>userPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-bba64431d6702ebcfd265dd690f81d8c06a285fb09016c4823ed3490403ed777">+26/-7</a> </td> </tr> <tr> <td><strong>iamPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-e537da3c3eaa929da94df90ba76b3b17f08792c9de268de899d310d13740efcf">+13/-5</a> </td> </tr> <tr> <td><strong>page-manager.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-565eab8b3c767ae50c9d05e591621d14f66b81af84d6b5ea6efe136c1c3933df">+11/-1</a> </td> </tr> <tr> <td><strong>pipelinesPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-d5f2771fd1139c174c46d09a9ab2da0ea4588b853e2b87e4728322d072542f49">+9/-0</a> </td> </tr> <tr> <td><strong>reportsPage.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-bc6b666f3862dce898d9ca68d036f317305b3f3d063d6eda423f2d864d36be0f">+8/-2</a> </td> </tr> <tr> <td><strong>changeOrg.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-d5557230e5f003c7c0129aab00855dc94501cc12a06b1f7814ff85d9fe389f47">+188/-149</a></td> </tr> <tr> <td><strong>enrichment.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-f52a06db75e7593aee95da4e0b255cb0001aa6c2b416d30358858e2f39b0cdcd">+106/-319</a></td> </tr> <tr> <td><strong>schema.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-72dd04280e3c77242b982bd7853ffa447428c0f9419c37a71d867ec7cd28d4b8">+121/-265</a></td> </tr> <tr> <td><strong>schemaload.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-5184069ec159ab301454535a5f45967635972e108095b82401ba96cb92856c5b">+114/-184</a></td> </tr> <tr> <td><strong>usersOrg.spec.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-0bf40521e88d2cf427617e49affa14d4ebe469b6da4ea4aeef4fe3e246eb24c7">+177/-77</a></td> </tr> <tr> <td><strong>enhanced-baseFixtures.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-3657cfe42414b97b6676be58109d3c3f92e8ba2f52bb09840b65ac9f9c889997">+137/-0</a> </td> </tr> <tr> <td><strong>framework-test.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-d3d8309ee6bdfb8edd0e39b4f8d2008ffe07775f130882a60b0509b29ae1a15d">+33/-0</a> </td> </tr> <tr> <td><strong>global-setup.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-06323dad7214f86b41b62e121e716eeea0054bc4d950c6bcf4a0efe53894acc8">+147/-0</a> </td> </tr> <tr> <td><strong>global-teardown.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-f3a6f320a6dd08450cf34d96f07847b9324fff8415f768963252ce0e1e35315e">+30/-0</a> </td> </tr> <tr> <td><strong>slack-reporter.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-29fdf4df416fe8e9965be16bc0419787175c227c385ac37560da40dc935328f5">+162/-0</a> </td> </tr> <tr> <td><strong>test-logger.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-9ad67a2a3dbfce3994655b30eb07c0a1b795ce0dc10ae9785481f9472394ce5e">+202/-0</a> </td> </tr> <tr> <td><strong>wait-helpers.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-fdf1e3fd5f38875694acd5e3f0a140ed89326ce8a2910f07b18d1004fd5d2165">+331/-0</a> </td> </tr> <tr> <td><strong>playwright.config.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-91cb9615068914b2e4f5d66fcbed50d3e9771ea2d882f8e8048bbe54eab3c414">+19/-7</a> </td> </tr> <tr> <td><strong>changeOrg.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-1a658a67b111f3f391520406aed0a66793d0e91c3157dca683a6e3603ff37bc6">+239/-0</a> </td> </tr> <tr> <td><strong>enrichment.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-92bb2446bdc69b0b0a88ea39a9ae169f5266e6021df70ea50149f0c624f1b7f9">+325/-0</a> </td> </tr> <tr> <td><strong>sanity2_consolidated.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-59079f7e0748f2f8d484ea6537936f8bfc488793799fa118c5f92c710645e175">+76/-0</a> </td> </tr> <tr> <td><strong>schema.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-61f5d68bba432d1c3c14d155e24088dd5849e90df5f4e636bf79c6477947105e">+275/-0</a> </td> </tr> <tr> <td><strong>schemaload.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-f230c8cf8362435b93ca2346369054471f362221d4209308616eb256970f8c8e">+188/-0</a> </td> </tr> <tr> <td><strong>serviceAccount.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-fed6804e49039a3e8ad282d4db4ddf9da8afc954bdb4c4dbc0cdeccbe1f3f1c0">+138/-0</a> </td> </tr> <tr> <td><strong>usersOrg.spec_old.js</strong></td> <td><a href="https://github.com/openobserve/openobserve/pull/8118/files#diff-e7b7c318f5ca80a33d8351d60134f6ff3983d89e76e517eb0d8e94ca9b30fac9">+211/-0</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Neha P <144308844+neha00290@users.noreply.github.com> Co-authored-by: ktx-akshay <akshay.patil@kiara.tech> |
||
|
|
8fb78048ec |
test: add and improve visualization test cases (#8135)
### **PR Type**
Tests, Enhancement
___
### **Description**
- Add robust visualize E2E tests
- Introduce dashboard helpers and verifications
- Improve page object with new locators
- Enable visualize spec in CI workflow
___
### Diagram Walkthrough
```mermaid
flowchart LR
PO["Page Object: visualise.js"] -- "new helpers, locators" --> SPEC["Tests: visualize.spec.js"]
SPEC -- "uses helpers to validate charts & dashboards" --> DASH["Dashboard flows"]
WF["CI Workflow"] -- "enable" --> SPEC
```
<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>visualise.js</strong><dd><code>Page object extended
with dashboard and chart helpers</code>
</dd></summary>
<hr>
tests/ui-testing/pages/dashboardPages/visualise.js
<ul><li>Import expect from Playwright<br> <li> Add dashboard and query
editor locators<br> <li> Add helpers: fillLogsQueryEditor,
checkDashboardErrors, <br>verifyChartRenders, verifyChartTypeSelected,
addPanelToNewDashboard<br> <li> Update stream index toggle selector and
refine <br>runQueryAndWaitForCompletion</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8135/files#diff-c14ac1db3e4aa86190d7525e8e38c410bcbbae7f46b01890e74937cc11be67e6">+140/-7</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>visualize.spec.js</strong><dd><code>Comprehensive
visualize E2E tests and assertions</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/dashboards/visualize.spec.js
<ul><li>Add randomized dashboard/panel naming<br> <li> Add reusable SQL
queries and stream constants<br> <li> Add new tests for large datasets,
stream persistence, chart defaults, <br>dashboard query persistence, and
error-free chart switching<br> <li> Skip flaky/legacy tests and adjust
flows to use new helpers</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8135/files#diff-d144f23552ec150db375c89e52c3a53ede9ff3fa5dcd6092694fbe0a308d22ec">+281/-459</a></td>
</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>Enable visualize E2E
spec in CI</code>
</dd></summary>
<hr>
.github/workflows/playwright.yml
- Enable dashboards/visualize.spec.js in Playwright matrix
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/8135/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+1/-1</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
748cca3ecb |
feat: visualization enhancement (#7456)
### **User description**
### Which query will be used?
- If query is empty will use histogram query
- Else query will be available:
- If query has group by clause :- will use same query
- Else will use histogram query
___
### **PR Type**
Enhancement, Tests, Bug fix
___
### **Description**
- Add server API to extract result schema
- Implement DataFusion plan visitor for projections
- Integrate visualization flow with schema and histogram
- Numerous UI fixes and UX improvements
___
### Diagram Walkthrough
```mermaid
flowchart LR
DF["DataFusion Plan Visitor (Rust)"]
API["HTTP API /result_schema (Rust)"]
FE["Logs Visualize UI (Vue)"]
Loader["Panel Data Loader (TS)"]
Cache["Histogram Handler & Cache (Rust)"]
DF -- "extract projections/group_by/timeseries" --> API
API -- "JSON ResultSchemaResponse" --> FE
FE -- "build config, set fields, decide histogram" --> Loader
Loader -- "inject searchResponse / is_ui_histogram" --> FE
Cache -- "normalize histogram()" --> DF
```
<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>14
files</summary><table>
<tr>
<td><strong>projections.rs</strong><dd><code>Add DataFusion logical plan
visitor to extract schema</code> </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-7a0420d3649da44b80be36d7f1043d6ff81d88395c961266882c3c700f7edff7">+651/-0</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Add /result_schema endpoint and
wire parsing/security</code> </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-96630a0dbb6dd7b2b0248fa325c7c7041ce31340c32826675a4a70772e9d29f6">+224/-2</a>
</td>
</tr>
<tr>
<td><strong>cacher.rs</strong><dd><code>Improve histogram() handling and
make public</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-8c387b22b2c0a282600ee41ca702b3db60f5a284d507c0feb7418608ff062c6c">+22/-11</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Export projections
module</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-70bb941c2eef1365e5ead1a59b65c5397457b9197a4e22596e18d17db7eaf922">+1/-0</a>
</td>
</tr>
<tr>
<td><strong>Index.vue</strong><dd><code>Integrate visualization with
schema API and histogram</code> </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-0323c3da69b369843c5d72bf4df5b00ca6b5147192a213baf331659ecf92af62">+564/-154</a></td>
</tr>
<tr>
<td><strong>VisualizeLogsQuery.vue</strong><dd><code>Field list UX,
props for searchResponse/histogram</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-979b01d943d58c5d70faeeac5948b7f02f0b2392a12b84ef07ba7f7393ab0261">+236/-174</a></td>
</tr>
<tr>
<td><strong>SearchBar.vue</strong><dd><code>Visualize toggle gating,
SQL/VRL disabled states</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-81893de4edf186b0556f610acb280c87baa2ffe67d3b48a60a866094c7635baf">+102/-52</a></td>
</tr>
<tr>
<td><strong>FieldList.vue</strong><dd><code>Readonly/visibility options
for logs visualize</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-a071c06e3e26629cb4ae4751450acc39c61fa49b07a1cc4be3711697829668d4">+13/-1</a>
</td>
</tr>
<tr>
<td><strong>TransformSelector.vue</strong><dd><code>Disable transform
controls in visualize mode</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-0037d8dd9cfbacc26309b26e98ae953e7ccbd0891ac2fd01c6314ebd7eed9d2c">+11/-4</a>
</td>
</tr>
<tr>
<td><strong>ChartSelection.vue</strong><dd><code>Allow restricting
selectable chart types</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-384ce178717731e2c85f1312f12a54b42ceabd0b86f7e2befb0e421ef568a6a3">+14/-11</a>
</td>
</tr>
<tr>
<td><strong>PanelSchemaRenderer.vue</strong><dd><code>Accept
searchResponse and is_ui_histogram props</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-e5376e7e77bf3aaf6590c2522d8c2dbffcc95a8006ae0d6dc0040a37825367d6">+13/-0</a>
</td>
</tr>
<tr>
<td><strong>usePanelDataLoader.ts</strong><dd><code>Support injected
searchResponse and ui histogram</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-5a42e9493a7bcd722b88e61fd38883c4f61001bc9cafa399f65f8eafda3aace9">+30/-5</a>
</td>
</tr>
<tr>
<td><strong>visualizationUtils.ts</strong><dd><code>Add SQL alias
validator for visualization</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-c2c391afcaa0b44c33d3f4fa531a4f31f044ae036f0baa182c8c88e83de066c5">+80/-0</a>
</td>
</tr>
<tr>
<td><strong>query.ts</strong><dd><code>Extend response metadata for
visualization</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-12dd5b3bb9741bbeaa348c0efbbd745d0a582899678738159c6927d34a35191d">+2/-0</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>1
files</summary><table>
<tr>
<td><strong>mod.rs</strong><dd><code>Add test for compact delete value
check</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-b7e3bf7f0ac23dd084c0c817a310a4d5e7a64ff532746d182986ef940fa03fd0">+17/-0</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Configuration
changes</strong></td><td><details><summary>2 files</summary><table>
<tr>
<td><strong>auth.rs</strong><dd><code>Allow auth bypass for
result_schema route</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-9bc2b1841504a435f66ad094f72ddbe7b7fa75e5e1557b8adbfe36f7f0592e1b">+3/-0</a>
</td>
</tr>
<tr>
<td><strong>mod.rs</strong><dd><code>Register result_schema HTTP
route</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-02556e3f515441b5d2b6bbea7829df488beac03c4cc41309a6638ae3c0e0aec6">+1/-0</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>1
files</summary><table>
<tr>
<td><strong>search.rs</strong><dd><code>Add ResultSchemaResponse
contract</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-373e83a31e5bbc82fba05d7ae274b0dbd624ed748272232cf7eb8b8c3b2f3afc">+7/-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>TableRenderer.vue</strong><dd><code>Render null/undefined as
empty string</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-794706ea9da3a70012a0327c0464f9fd16802f78ece26055fe951716c2d73d59">+1/-1</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Formatting</strong></td><td><details><summary>1
files</summary><table>
<tr>
<td><strong>sqlUtils.ts</strong><dd><code>Minor formatting
fix</code>
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-dde40e8fcb5c37b06c011ede08922c44a3c025682fbc341aee97ba046b73a0e3">+1/-1</a>
</td>
</tr>
</table></details></td></tr><tr><td><strong>Additional
files</strong></td><td><details><summary>11 files</summary><table>
<tr>
<td><strong>playwright.yml</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+1/-1</a>
</td>
</tr>
<tr>
<td><strong>visualise.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-c14ac1db3e4aa86190d7525e8e38c410bcbbae7f46b01890e74937cc11be67e6">+1/-5</a>
</td>
</tr>
<tr>
<td><strong>logsPage.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-8045b343491d8943869c1af74cdafab204dc49c02a70294417e73f47d35e0b59">+2/-2</a>
</td>
</tr>
<tr>
<td><strong>visualize.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-d144f23552ec150db375c89e52c3a53ede9ff3fa5dcd6092694fbe0a308d22ec">+225/-183</a></td>
</tr>
<tr>
<td><strong>useDashboardPanel.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-fbba1700750053b9eaf38ddd30dab84531bc44131c795ebb713811e4930cd7cb">+420/-6</a>
</td>
</tr>
<tr>
<td><strong>useLogs.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-1040f61354f92711e0e77ed4e9bfa15586d45a94c7e2ab06cc37372068030e7b">+151/-19</a></td>
</tr>
<tr>
<td><strong>useNotifications.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-32ff5072df9badfebc0a72c401fe337de3324f76b186a52d202eb6cc2fa71e3a">+25/-0</a>
</td>
</tr>
<tr>
<td><strong>en.json</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-892aa3d75ab6e129ef9116aa21bec1b9a15ba69ce5366d2a19128078c690d824">+2/-0</a>
</td>
</tr>
<tr>
<td><strong>search.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-885ab872dbc6e7b20264df815e3ef4727f0abc86ce90d2fb47e4aff572814c75">+43/-0</a>
</td>
</tr>
<tr>
<td><strong>logs.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-637857fa918f47ffb02ebfc8a35b124001ef4f65fd180c467f0f153382d2dc76">+1/-0</a>
</td>
</tr>
<tr>
<td><strong>convertDataIntoUnitValue.ts</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7456/files#diff-14c6fe442ef231566ec411f9e0262cdd24ec912fc67b9154eec743282ab7211a">+120/-29</a></td>
</tr>
</table></details></td></tr></tr></tbody></table>
</details>
___
---------
Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: ktx-akshay <akshay.patil@kiara.tech>
Co-authored-by: Yashodhan Joshi <yjdoc2@gmail.com>
Co-authored-by: omkark06 <omkar@zinclabs.io>
Co-authored-by: loaki07 <rustyloaki@gmail.com>
Co-authored-by: Loakesh Indiran <66478092+Loaki07@users.noreply.github.com>
Co-authored-by: Bhargav <BJP232004@GMAIL.COM>
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
Co-authored-by: ktx-vaidehi <134508096+ktx-vaidehi@users.noreply.github.com>
Co-authored-by: Yashodhan Joshi <yashodhan@openobserve.ai>
|
||
|
|
e9082e6ff6 | ci: Added github workflow to update the release notes in strapi (#7955) | ||
|
|
4b16b049c7 | test: Updated yml file (#7976) | ||
|
|
b67509266e | chore(deps): bump actions/checkout from 4 to 5 (#7965) | ||
|
|
577507400c | chore(deps): bump actions/download-artifact from 4 to 5 (#7966) | ||
|
|
4736a1dad7 | ignore yaml and md files for CI | ||
|
|
9b9473ea64 |
test: Multi mode execution for logs (#7907)
### **PR Type** Tests, Enhancement ___ ### **Description** - Add streaming toggle helper and usage - Add afterEach flip across logs specs - Clean up duplicate imports in tests - Increase Playwright workers on CI ___ ### Diagram Walkthrough ```mermaid flowchart LR CA["CommonActions: streaming helpers"] -- "flipStreaming()" --> Specs["Logs specs afterEach hooks"] Specs -- "stabilize UI by dismissing overlays" --> Stable["More reliable test runs"] CI["Playwright config"] -- "workers 2 -> 5" --> Faster["Faster CI"] ``` <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>1 files</summary><table> <tr> <td><strong>commonActions.js</strong><dd><code>Add streaming toggle helpers and overlay dismissal</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-4d726dd2bdb34b2c90a31798ff49b6df5bc952bd049b7c38bebb18b6db0076e2">+41/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>13 files</summary><table> <tr> <td><strong>indexquery.spec.js</strong><dd><code>Initialize PageManager and flip streaming post-test</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-34747033f2191057e144ed1892b682d355e11788603a61aa98fbf991eed50c5a">+7/-0</a> </td> </tr> <tr> <td><strong>join.spec.js</strong><dd><code>Normalize imports and add afterEach flip</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-b161f6e50affa381ff0ea27463a79c061139041f44ecaef5a64e4aa88ef97d45">+5/-1</a> </td> </tr> <tr> <td><strong>logshistogram.spec.js</strong><dd><code>Remove duplicate import and add afterEach flip</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-d01da1c5a03b1d1c1c74e11f6e4ebe879def1ce87e407aa9a1afc8473040f4bc">+6/-1</a> </td> </tr> <tr> <td><strong>logspage.spec.js</strong><dd><code>Parallel note, minor cleanups; no afterEach flip</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-b1a64252adae01c5e8f7e758e3c820f5476260f60c44a4a57b4f15a05a59a85a">+21/-33</a> </td> </tr> <tr> <td><strong>logsqueries.cte.spec.js</strong><dd><code>Remove duplicate import; add afterEach flip</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-153f79d86888d9e3a82f42a15242cacb3a126c263aee91cada88ae04dffacd36">+6/-1</a> </td> </tr> <tr> <td><strong>logsqueries.matchall.spec.js</strong><dd><code>Remove duplicate import; add afterEach flip</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-99c81de942a418ed93cb748d23740c18a68417844f033c94d6636685a4c3cc68">+6/-1</a> </td> </tr> <tr> <td><strong>logsqueries.spec.js</strong><dd><code>Remove duplicate import; add afterEach flip</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-c2055f6cef1580b15c5f94f5c8c2e496a6e921332b48bad943bb7c0630846a65">+6/-1</a> </td> </tr> <tr> <td><strong>logsquickmode.spec.js</strong><dd><code>Remove duplicate import; add afterEach flip</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-81f2f36450c07435f1b0f3c33462c7dac98c0798250913ae5ed928f57ad82cdf">+6/-1</a> </td> </tr> <tr> <td><strong>pagination.spec.js</strong><dd><code>Normalize import and add afterEach flip</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-638d825c69799170731ba602def4b274a04a5444e8252f24fd97cdfe194049f0">+6/-2</a> </td> </tr> <tr> <td><strong>region.spec.js</strong><dd><code>Remove duplicate import; add afterEach flip</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-19ef2f7fe7e4063bd458370eca8951079965c22f91120d249dacf917c9b6da90">+6/-1</a> </td> </tr> <tr> <td><strong>searchpartition.spec.js</strong><dd><code>Remove duplicate import; add afterEach flip</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-967859311f28b32020e4c9cbb0fb7a290dbbe542fc125054afad9a712d299517">+6/-1</a> </td> </tr> <tr> <td><strong>secondsPrecisionAdded.spec.js</strong><dd><code>Normalize import; no afterEach hook added</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-862c0bb7d64fc0e09f8e0dd4a3d0571de4d4f08dc57d48b06581461413352f26">+4/-1</a> </td> </tr> <tr> <td><strong>unflattened.spec.js</strong><dd><code>Comment cleanup and add afterEach flip</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-35703a04047bd3dc257e8e606360e196f9ead45fc44f3857a6e04023590f1a1e">+6/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Configuration changes</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>playwright.config.js</strong><dd><code>Increase CI workers from 2 to 5</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-91cb9615068914b2e4f5d66fcbed50d3e9771ea2d882f8e8048bbe54eab3c414">+1/-1</a> </td> </tr> <tr> <td><strong>playwright.yml</strong><dd><code>Rename UI test job to e2e</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/7907/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+1/-1</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
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>
|
||
|
|
157919fbe3 |
ci: add cargo fmt (#7849)
add cargo fmt to ci |
||
|
|
2ec898648a |
test: add e2e tests for HTML chart (#7683)
### **PR Type**
Tests, Enhancement
___
### **Description**
- Add e2e tests for HTML chart panel
- Test basic HTML rendering and variable substitution
- Integrate tests with Page Object Model
- Include HTML chart test in CI workflow
___
### Diagram Walkthrough
```mermaid
flowchart LR
A["Login"] --> B["Ingest Data"]
B --> C["Navigate to Dashboard"]
C --> D["Create Dashboard"]
D --> E["Add HTML Panel"]
E --> F["Fill HTML Snippet"]
F --> G["Assert Rendering"]
G --> H["Save & Delete Dashboard"]
```
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>dashboard-html-chart.spec.js</strong><dd><code>Add HTML
chart e2e test cases</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/dashboards/dashboard-html-chart.spec.js
<ul><li>Add HTML chart e2e test cases file<br> <li> Two scenarios: basic
rendering, variable substitution<br> <li> Use Page Object Model and
fixtures<br> <li> Setup and cleanup dashboard in tests</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7683/files#diff-02c503aa87193168f5aa83c8105c376ea0c4dc45e6c7bd6f255b693bf7ebc462">+157/-0</a>
</td>
</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>playwright.yml</strong><dd><code>Include HTML chart
test in CI workflow</code>
</dd></summary>
<hr>
.github/workflows/playwright.yml
<ul><li>Register HTML chart test in CI workflow<br> <li> Added
dashboard-html-chart.spec.js path</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7683/files#diff-7afcd2d8f7b49bda74843f209eefb7b2da45f7e7803bf2e4bd636699b76aa2d3">+1/-0</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
b7e1a9d702 | perf: pushdown plan (#7778) |