Files
openobserve/.github/workflows/playwright.yml
T
Shrinath Rao c4a52c6a7d test: e2e POM Conversion 4 (#7566)
### **PR Type**
Tests, Enhancement


___

### **Description**
- Reorganize pipeline page objects structure

- Inline and update streams page methods

- Remove deprecated page object files

- Update import paths in spec tests


___

### **Changes diagram**

```mermaid
flowchart LR
  A["tests/ui-testing/pages/pipelinePage.js"] -- "removed and merged" --> B["tests/ui-testing/pages/pipelinesPages/pipelinesPage.js"]
  C["tests/ui-testing/pages/streamsPage.js"] -- "removed and inlined into" --> D["tests/ui-testing/pages/streamsPages/streamsPage.js"]
```


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><details><summary>3
files</summary><table>
<tr>
<td><strong>dashboardPage.js</strong><dd><code>Fix CommonLocator import
path</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-febeab93d1b7b929f386f852b74aa1ab16086626891d08b815afc21414b22704">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>pipelinesPage.js</strong><dd><code>Add consolidated
PipelinesPage object</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-d5f2771fd1139c174c46d09a9ab2da0ea4588b853e2b87e4728322d072542f49">+576/-0</a>&nbsp;
</td>

</tr>

<tr>
<td><strong>streamsPage.js</strong><dd><code>Inline stream methods in
StreamsPage</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-792df584eb1625d35fd1e33a5a37aa3ada28f15ec1e77a1921f1c56e50bf70d2">+45/-9</a>&nbsp;
&nbsp; </td>

</tr>

</table></details></td></tr><tr><td><strong>Miscellaneous</strong></td><td><details><summary>4
files</summary><table>
<tr>
<td><strong>pipelinePage.js</strong><dd><code>Remove obsolete
PipelinePage file</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-324393930b7e946cbbd5a9babc217b50a379217ff3348eb8b76ab70817a492f0">+0/-556</a>&nbsp;
</td>

</tr>

<tr>
<td><strong>pipelinesPage.js</strong><dd><code>Delete legacy
PipelinesPage file</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-937929034eb55e16c39f89c11f3aecdbcff880115f2bd49bca6a1796d64a1404">+0/-39</a>&nbsp;
&nbsp; </td>

</tr>

<tr>
<td><strong>streamPage.js</strong><dd><code>Remove deprecated StreamPage
file</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-a519c8136b309dafac313d8214f6b8c636525cbc6c7e978085a4ff7566452590">+0/-41</a>&nbsp;
&nbsp; </td>

</tr>

<tr>
<td><strong>streamsPage.js</strong><dd><code>Delete old StreamsPage
file</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-2208c11b9b5e3f421f2edc79be9d401417261366a93f1ed26009a18714440025">+0/-54</a>&nbsp;
&nbsp; </td>

</tr>
</table></details></td></tr><tr><td><strong>Configuration
changes</strong></td><td><details><summary>1 files</summary><table>
<tr>
<td><strong>changeOrg.spec.js</strong><dd><code>Update spec import
paths</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-26c87f2e621800977cc59e48f94d8936281e2ccd00a8a6e898dcdd57b4e7fab2">+19/-19</a>&nbsp;
</td>

</tr>

</table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>12
files</summary><table>
<tr>
<td><strong>enrichment.spec.js</strong><dd><code>Switch to PipelinesPage
in enrichment tests</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-fb840aecf9f7b76d51d9d0be7df916ae23a9fd3983772401944f4cd0641dbd2b">+9/-9</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>sanity.spec.js</strong><dd><code>Fix relative import paths
in sanity tests</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-c6a2c56a58805d12ea7bfef89160d6cac213a55a381dee86930d88b0031a8425">+4/-4</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>sanity2.spec.js</strong><dd><code>Adjust import paths in
second sanity test</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-1ad5bc5af4a18b40efd8d3c27b1c6d5bbe7fc08e04cecc2365cb1706308fed7f">+4/-4</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>schema.spec.js</strong><dd><code>Correct import paths in
schema tests</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-cc6de4987a95866733dbd850db1d2929dc564bcd3874bbaed0767d5d2a3a27bf">+4/-4</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>schemaload.spec.js</strong><dd><code>Update schema load test
imports</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-97861b780dc35f5e322cd43dcdf7c5c7aa4777935026e92d40f465b607c3b102">+3/-3</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>serviceAccount.spec.js</strong><dd><code>Update IamPage
import path</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-e1fe091fa1f629f4afa7692bdc490f26c381d7021bec208a021c418bd3f830f4">+3/-3</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>usersOrg.spec.js</strong><dd><code>Fix user and createOrg
imports</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-dbb2b5a12ff9e4aadc0b08e6ae8ef480149eaf38184975ee1bc19365c2883236">+4/-4</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>indexquery.spec.js</strong><dd><code>Adjust logs spec import
locations</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-34747033f2191057e144ed1892b682d355e11788603a61aa98fbf991eed50c5a">+3/-3</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>join.spec.js</strong><dd><code>Update join spec page
imports</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-b161f6e50affa381ff0ea27463a79c061139041f44ecaef5a64e4aa88ef97d45">+4/-4</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>pagination.spec.js</strong><dd><code>Fix pagination spec
imports</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-638d825c69799170731ba602def4b274a04a5444e8252f24fd97cdfe194049f0">+5/-5</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>region.spec.js</strong><dd><code>Correct region spec import
paths</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-19ef2f7fe7e4063bd458370eca8951079965c22f91120d249dacf917c9b6da90">+3/-3</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>searchpartition.spec.js</strong><dd><code>Update search
partition spec imports</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-967859311f28b32020e4c9cbb0fb7a290dbbe542fc125054afad9a712d299517">+4/-4</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></details></td></tr><tr><td><strong>Additional
files</strong></td><td><details><summary>12 files</summary><table>
<tr>
  <td><strong>secondsPrecisionAdded.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-862c0bb7d64fc0e09f8e0dd4a3d0571de4d4f08dc57d48b06581461413352f26">+4/-4</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td><strong>unflattened.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-35703a04047bd3dc257e8e606360e196f9ead45fc44f3857a6e04023590f1a1e">+5/-5</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td><strong>websocket.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-fbbf4867b747e8ba5991bc4222aa55c1b7a6bfd2844631b1e6a1b4a2a14870ec">+5/-5</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td><strong>pipeline-core.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-3e57cb10518ffdfd480b0d5ec65db1fcee8419e9093ac0777ebabed4fccf2246">+8/-8</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td><strong>pipeline-dynamic.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-f789941cddcd742a13878f04a62719e71b4d281af0b07269ce674e89912152f3">+4/-4</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td><strong>pipelines.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-948dbdd764f739f3a4bcbb8c643ec4721e08695031bd9791040d68f7df842aee">+23/-23</a>&nbsp;
</td>

</tr>

<tr>
  <td><strong>remotepipeline.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-71fb4f86d8846e6241222e82d0433fe0f948c27c841fa2050a13ce77c69edf3b">+8/-8</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td><strong>reportsUpdated.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-1608bba793d8fd81e04853ee9017257376c7fda7177bbd20a4613db29b84b628">+5/-5</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td><strong>reportsUpdated2.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-2033aa48afff8bb05979f79cbc8c62295aa0781844f08c2a4c000e609671cb30">+5/-5</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td><strong>multiselect-stream.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-057fce3dbfdd642ca63bece7ba136c34cb5e293de63bf895a6fb212b067d447a">+3/-3</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td><strong>custom-charts.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-bb0672bd78ba9a59df96a08374f5fd77f52a47792ad409921fd25457bcf0a9e2">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td><strong>dashboard-folder.spec.js</strong></td>
<td><a
href="https://github.com/openobserve/openobserve/pull/7566/files#diff-bdb8f953e350e378f4196ea1b74fa60961dbe7e87ea34b77e551e77983ab0360">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></details></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-16 12:20:13 +05:30

254 lines
8.1 KiB
YAML

name: Playwright UI Tests
on:
push:
branches:
- "main"
# paths:
# - "web/**"
pull_request:
branches:
- "*"
# paths:
# - "web/**"
env:
COLUMNS: 150
ZO_ROOT_USER_EMAIL: root@example.com
ZO_ROOT_USER_PASSWORD: Complexpass#123
ZO_BASE_URL: http://localhost:5080
WS_ZO_BASE_URL: ws://localhost:5080
ZO_BASE_URL_SC: http://localhost:5080
ZO_BASE_URL_SC_UI: http://localhost:5080
INGESTION_URL: http://localhost:5080
ORGNAME: default
ZO_QUICK_MODE_NUM_FIELDS: 100
ZO_QUICK_MODE_STRATEGY: first
ZO_ALLOW_USER_DEFINED_SCHEMAS: true
ZO_INGEST_ALLOWED_UPTO: 5
ZO_FEATURE_QUERY_EXCLUDE_ALL: false
ZO_USAGE_BATCH_SIZE: 200
ZO_USAGE_PUBLISH_INTERVAL: 2
ZO_USAGE_REPORTING_ENABLED: true
ZO_MIN_AUTO_REFRESH_INTERVAL: 5
ZO_WEBSOCKET_ENABLED: true
ZO_STREAMING_ENABLED: true
ZO_COLS_PER_RECORD_LIMIT: "80000"
ZO_SMTP_ENABLED: true
ZO_FORMAT_STREAM_NAME_TO_LOWERCASE: false
ZO_CREATE_ORG_THROUGH_INGESTION: true
jobs:
build_binary:
name: build_binary
runs-on:
labels: ubicloud-standard-16
steps:
- name: Remove unused tools
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
- name: Clone the current repo
uses: actions/checkout@v4
- name: Setup Rust Toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2025-03-02
targets: x86_64-unknown-linux-gnu
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: Install Protoc
uses: arduino/setup-protoc@v3
with:
version: "21.12"
- uses: actions/setup-node@v4
with:
node-version: 22
- name: Build frontend code
env:
NODE_OPTIONS: "--max-old-space-size=8192"
VITE_COVERAGE: "true"
COVERAGE: "true"
run: cd web && npm install && npm run build
- name: Build and run binary
run: cargo build --release --target x86_64-unknown-linux-gnu
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: debug-binary
path: target/x86_64-unknown-linux-gnu/release/openobserve
retention-days: 1
ui_integration_tests:
name: playwright_ui_integration_tests
needs: [build_binary]
runs-on:
labels: ubicloud-standard-8
container:
image: mcr.microsoft.com/playwright:v1.50.0-jammy
options: --user root
strategy:
matrix:
browser: [chrome]
testfilename: [
"alerts/alerts-e2e-flow.spec.js",
"alerts/alerts-ui-operations.spec.js",
"alerts/alerts-import.spec.js",
"GeneralTests/changeOrg.spec.js",
"dashboards/custom-charts.spec.js",
"dashboards/dashboard.spec.js",
"dashboards/dashboard-filter.spec.js",
"dashboards/dashboard-folder.spec.js",
"dashboards/dashboard-geoMap.spec.js",
"dashboards/dashboard-general-setting.spec.js",
"dashboards/dashboard-import.spec.js",
"dashboards/dashboard-maps.spec.js",
"dashboards/dashboard-multi-y-axis.spec.js",
"dashboards/dashboard-tabs-setting.spec.js",
"dashboards/dashboard-transpose.spec.js",
"dashboards/dashboard-variables-setting.spec.js",
"dashboards/dashboard2.spec.js",
"dashboards/dashboardtype.spec.js",
"dashboards/visualize.spec.js",
"dashboards/visualization-vrl.spec.js",
"GeneralTests/enrichment.spec.js",
"Logs/join.spec.js",
"Logs/logshistogram.spec.js",
"Logs/logspage.spec.js",
"Logs/logsqueries.spec.js",
"Logs/logsquickmode.spec.js",
"Streams/multiselect-stream.spec.js",
"Logs/pagination.spec.js",
"Pipelines/pipelines.spec.js",
"Reports/reportsUpdated.spec.js",
"Reports/reportsUpdated2.spec.js",
"GeneralTests/sanity.spec.js",
"GeneralTests/sanity2.spec.js",
"GeneralTests/schema.spec.js",
"GeneralTests/schemaload.spec.js",
"Logs/secondsPrecisionAdded.spec.js",
"GeneralTests/serviceAccount.spec.js",
"Streams/streamname.spec.js",
"Streams/streaming.spec.js",
"Logs/unflattened.spec.js",
"GeneralTests/usersOrg.spec.js",
"Logs/websocket.spec.js",
"Pipelines/pipeline-dynamic.spec.js",
"Logs/searchpartition.spec.js",
"Pipelines/pipeline-core.spec.js",
# "remotepipeline.spec.js",
]
steps:
- name: Clone the current repo
uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
- name: Start OpenObserve
run: chmod +x ./debug-binary/openobserve && ./debug-binary/openobserve > o2.log 2>&1 &
- name: Wait for start
run: sleep 15
- name: Ensure we are getting a reply from the server
run: curl http://localhost:5080/web/login
- name: Create coverage json folder
run: mkdir -p tests/ui-testing/.nyc_output
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Install dependencies and run ui-tests
run: |
touch .env
echo "ZO_ROOT_USER_EMAIL=${ZO_ROOT_USER_EMAIL}" >> .env
echo "ZO_ROOT_USER_PASSWORD=${ZO_ROOT_USER_PASSWORD}" >> .env
echo "ZO_BASE_URL=${ZO_BASE_URL}" >> .env
echo "WS_ZO_BASE_URL=${WS_ZO_BASE_URL}" >> .env
echo "ZO_BASE_URL_SC=${ZO_BASE_URL_SC}" >> .env
echo "ZO_BASE_URL_SC_UI=${ZO_BASE_URL_SC_UI}" >> .env
echo "INGESTION_URL=${INGESTION_URL}" >> .env
echo "ORGNAME=${ORGNAME}" >> .env
echo "ZO_SMTP_ENABLED=${ZO_SMTP_ENABLED}" >> .env
mv .env tests/ui-testing
cd tests/ui-testing && npm ci && npx playwright test ./playwright-tests/${{ matrix.testfilename }}
# - name: Check OpenObserve logs
# if: always()
# run: cat o2.log
- name: Sanitize Test Filename
shell: bash
run: |
# Assign the matrix variable to a Bash variable
SANITIZED_FILENAME="${{ matrix.testfilename }}"
# Replace all '/' characters with '_'
SANITIZED_FILENAME="${SANITIZED_FILENAME//\//_}"
# Export as a GitHub Actions environment variable
echo "SANITIZED_FILENAME=$SANITIZED_FILENAME" >> $GITHUB_ENV
- name: Upload Coverage Data
uses: actions/upload-artifact@v4
with:
name: playwright-coverage-${{ env.SANITIZED_FILENAME }}
path: tests/ui-testing/.nyc_output
include-hidden-files: true
- name: Generate Coverage Report
run: cd tests/ui-testing && npx nyc report
- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30
generate_coverage_report:
name: Generate Coverage Report
needs: [build_binary, ui_integration_tests]
runs-on: ubicloud-standard-8
if: always()
steps:
- name: Clone the current repo
uses: actions/checkout@v4
- name: Download Playwright Coverage Data
uses: actions/download-artifact@v4
with:
pattern: playwright-coverage-* # Match all artifacts with this prefix
path: merged-coverage
merge-multiple: true
- name: Verify Downloaded Files
run: ls -R merged-coverage # Check the structure and contents
- name: Move Coverage Files to .nyc_output
run: |
mkdir -p tests/ui-testing/.nyc_output
mv merged-coverage/* tests/ui-testing/.nyc_output/ || echo "No files to move"
- name: Generate Coverage Report
run: cd tests/ui-testing && npm ci && npx nyc report
- name: Upload Coverage Report
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: tests/ui-testing/coverage-report
retention-days: 7