Skip to content

Commit 6768bfa

Browse files
authored
Merge branch 'main' into feature/rkatakol/ibvs_reverse_proxy
2 parents faa512a + 3a0435e commit 6768bfa

File tree

93 files changed

+27247
-80
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+27247
-80
lines changed

.github/workflows/spineapp_pull_request.yaml

Lines changed: 5 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -150,64 +150,13 @@ jobs:
150150
name: Trivy Report - Config scan for Helm
151151
path: manufacturing-ai-suite/industrial-edge-insights-vision/helm/trivy-Spineapp-helm.txt
152152

153-
154153
sanity:
155-
runs-on: ubuntu-latest
154+
uses: ./.github/workflows/spineapp_sanity.yaml
155+
with:
156+
branch: ${{ github.head_ref }}
157+
secrets: inherit
156158
permissions:
157-
contents: read
159+
contents: read
158160
packages: write
159-
strategy:
160-
fail-fast: false
161-
matrix:
162-
include:
163-
- ubuntu_version: ubuntu22
164-
steps:
165-
- name: Check out edge-ai-suites repository
166-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #4.2.2
167-
with:
168-
persist-credentials: false
169-
path: edge-ai-suites-repo
170-
- name: Set up Python
171-
uses: actions/setup-python@v5
172-
with:
173-
python-version: '3.10'
174-
- name: Log in to GitHub Container Registry
175-
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 #3.4.0
176-
with:
177-
registry: ghcr.io
178-
username: ${{ github.actor }}
179-
password: ${{ secrets.GITHUB_TOKEN }}
180-
- name: Sanity Test
181-
run: |
182-
sudo apt-get update
183-
sudo pip install robotframework
184-
sudo apt install -y python3-nose libxml2-utils vlc
185-
cd edge-ai-suites-repo/manufacturing-ai-suite/industrial-edge-insights-vision/tests/robot_files
186-
robot test.robot || true
187-
mkdir -p /tmp/test_results
188-
cp -r report.html log.html output.xml /tmp/test_results/
189-
passed=$(xmllint --xpath "//return/status[@status='PASS']" ./output.xml | wc -l) || true
190-
failed=$(xmllint --xpath "//return/status[@status='FAIL']" ./output.xml | wc -l) || true
191-
not_run=$(xmllint --xpath "//return/status[@status='NOT RUN']" ./output.xml | wc -l) || true
192-
total=$((passed + failed + not_run))
193-
echo "### Sanity Test Summary" >> $GITHUB_STEP_SUMMARY
194-
echo "- Total: $total" >> $GITHUB_STEP_SUMMARY
195-
echo "- ✅ Passed: $passed" >> $GITHUB_STEP_SUMMARY
196-
echo "- ❌ Failed: $failed" >> $GITHUB_STEP_SUMMARY
197-
echo "- ⏭️ Not Run: $not_run" >> $GITHUB_STEP_SUMMARY
198-
echo "- 📄 [Full Report](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})" >> $GITHUB_STEP_SUMMARY
199-
- name: Upload Scan artifact to Github
200-
uses: actions/upload-artifact@v4
201-
with:
202-
name: Sanity_Reports
203-
path: /tmp/test_results/*
204-
- name: Clean up
205-
if: always()
206-
run: |
207-
sudo rm -rf edge-ai-libraries-repo
208-
if [ -n "$(docker images -aq)" ]; then
209-
docker rmi -f $(docker images -aq) || true
210-
fi
211-
sudo rm -rf /tmp/test_results/*
212161

213162

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
name: "[industrial-edge-insights-vision] Sanity Workflow"
2+
3+
on:
4+
workflow_dispatch: # allows manual trigger
5+
inputs:
6+
branch:
7+
description: "Branch to run job on"
8+
required: false
9+
default: "main"
10+
11+
workflow_call: # allows being called from another workflow
12+
inputs:
13+
branch:
14+
description: "Branch to run job on"
15+
required: false
16+
type: string
17+
18+
jobs:
19+
sanity:
20+
runs-on: ubuntu-latest
21+
permissions:
22+
contents: read
23+
packages: write
24+
strategy:
25+
fail-fast: false
26+
matrix:
27+
include:
28+
- ubuntu_version: ubuntu22
29+
steps:
30+
- name: Determine branch
31+
id: get_branch
32+
run: |
33+
if [ -n "${{ inputs.branch }}" ]; then
34+
echo "branch=${{ inputs.branch }}" >> $GITHUB_OUTPUT
35+
elif [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
36+
echo "branch=${{ github.event.inputs.branch }}" >> $GITHUB_OUTPUT
37+
else
38+
echo "branch=${{ github.ref_name }}" >> $GITHUB_OUTPUT
39+
fi
40+
- name: Check out edge-ai-suites repository
41+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #4.2.2
42+
with:
43+
persist-credentials: false
44+
path: edge-ai-suites-repo
45+
ref: ${{ steps.get_branch.outputs.branch }}
46+
- name: Set up Python
47+
uses: actions/setup-python@v5
48+
with:
49+
python-version: '3.10'
50+
- name: Log in to GitHub Container Registry
51+
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 #3.4.0
52+
with:
53+
registry: ghcr.io
54+
username: ${{ github.actor }}
55+
password: ${{ secrets.GITHUB_TOKEN }}
56+
- name: Sanity Test
57+
run: |
58+
sudo apt-get update
59+
sudo pip install robotframework
60+
lspci | grep -i vga
61+
sudo apt install -y python3-nose libxml2-utils vlc
62+
cd edge-ai-suites-repo/manufacturing-ai-suite/industrial-edge-insights-vision/tests/robot_files
63+
robot test.robot || true &
64+
sleep 480
65+
docker logs dlstreamer-pipeline-server >> dlsps_logs.txt &
66+
wait
67+
mkdir -p /tmp/test_results
68+
cp -r report.html log.html output.xml dlsps_logs.txt /tmp/test_results/
69+
passed=$(xmllint --xpath "//return/status[@status='PASS']" ./output.xml | wc -l) || true
70+
failed=$(xmllint --xpath "//return/status[@status='FAIL']" ./output.xml | wc -l) || true
71+
not_run=$(xmllint --xpath "//return/status[@status='NOT RUN']" ./output.xml | wc -l) || true
72+
total=$((passed + failed + not_run))
73+
echo "### Sanity Test Summary" >> $GITHUB_STEP_SUMMARY
74+
echo "- Total: $total" >> $GITHUB_STEP_SUMMARY
75+
echo "- ✅ Passed: $passed" >> $GITHUB_STEP_SUMMARY
76+
echo "- ❌ Failed: $failed" >> $GITHUB_STEP_SUMMARY
77+
echo "- ⏭️ Not Run: $not_run" >> $GITHUB_STEP_SUMMARY
78+
echo "- 📄 [Full Report](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})" >> $GITHUB_STEP_SUMMARY
79+
- name: Upload Scan artifact to Github
80+
uses: actions/upload-artifact@v4
81+
with:
82+
name: Sanity_Reports
83+
path: /tmp/test_results/*
84+
- name: Clean up
85+
if: always()
86+
run: |
87+
sudo rm -rf edge-ai-libraries-repo
88+
if [ -n "$(docker images -aq)" ]; then
89+
docker rmi -f $(docker images -aq) || true
90+
fi
91+
sudo rm -rf /tmp/test_results/*
92+
93+
94+
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
#
2+
# Apache v2 license
3+
# Copyright (C) 2025 Intel Corporation
4+
# SPDX-License-Identifier: Apache-2.0
5+
#
6+
# env file for docker-compose
7+
8+
# ----------------------------------
9+
# Docker compose configs
10+
# ----------------------------------
11+
COMPOSE_HTTP_TIMEOUT=200
12+
COMPOSE_PROJECT_NAME=timeseriessoftware
13+
14+
# Docker security
15+
# Don't change these unless required
16+
TIMESERIES_USER_NAME=timeseries_user
17+
TIMESERIES_UID=2999
18+
KAPACITOR_PORT=9092
19+
20+
# Please provide docker registry details below for docker-compose push/pull
21+
# Please provide full registry url with port trail by /
22+
# e.q. localhost:5000/
23+
DOCKER_REGISTRY=
24+
25+
# If CONTINUOUS_SIMULATOR_INGESTION is set to true (default), continuous looping of simulator data is enabled.
26+
# To ingest the simulator data only once (without looping), set this variable to false.
27+
CONTINUOUS_SIMULATOR_INGESTION=true
28+
29+
GRAFANA_PORT=3000
30+
LOG_LEVEL=INFO
31+
32+
#image names
33+
TIME_SERIES_ANALYTICS_IMAGE=intel/ia-time-series-analytics-microservice:1.1.0
34+
WELD_SIMULATOR_IMAGE=intel/ia-weld-data-simulator:1.0.0
35+
FUSION_MODULE_IMAGE=intel/ia-multimodal-fusion-analytics:1.0.0
36+
DLSTREAMER_PIPELINE_SERVER_IMAGE=intel/dlstreamer-pipeline-server:3.1.0-ubuntu22
37+
38+
# Please provide the suffix for the image version you want to use like rc1, rc2, git hash id etc.
39+
IMAGE_SUFFIX=weekly
40+
41+
## --------- Sample app secrets config ---------------
42+
# The INFLUXDB_USERNAME must contain only alphabets and be at least 5 characters minimum
43+
# Do not set INFLUXDB_USERNAME to 'admin'.
44+
INFLUXDB_USERNAME=
45+
46+
# The INFLUXDB_PASSWORD length must be a minimum of 10 alphanumeric characters with at least one digit
47+
# Do not use the following special characters in the INFLUXDB_PASSWORD "~:'+[/@^{%(-"*|,&<`}._=}!>;?#$)\"
48+
INFLUXDB_PASSWORD=
49+
50+
# The VISUALIZER_GRAFANA_USER must contain only alphabets and be at least 5 characters minimum
51+
VISUALIZER_GRAFANA_USER=
52+
# The VISUALIZER_GRAFANA_PASSWORD length must be a minimum of 10 alphanumeric characters with at least one digit
53+
VISUALIZER_GRAFANA_PASSWORD=
54+
55+
# ==========
56+
# DL Streamer Pipeline Server
57+
# ==========
58+
59+
HOST_IP=
60+
REST_SERVER_PORT=8080
61+
62+
# DL Streamer Pipeline Server
63+
RTSP_CAMERA_IP=
64+
65+
# Open Telemetry related config
66+
ENABLE_OPEN_TELEMETRY=false
67+
OTEL_COLLECTOR_HOST=otel-collector
68+
OTEL_COLLECTOR_PORT=4318
69+
OTEL_EXPORT_INTERVAL_MILLIS=5000
70+
PROMETHEUS_PORT=9999
71+
72+
# Webrtc related config
73+
# mediamtx-port for streaming
74+
WHIP_SERVER_PORT=8889
75+
MTX_WEBRTCICESERVERS2_0_USERNAME=
76+
MTX_WEBRTCICESERVERS2_0_PASSWORD=
77+
COTURN_UDP_PORT=3478
78+
79+
# ==========
80+
# Weld Data Simulator config
81+
# ==========
82+
83+
TS_TOPIC=weld-data
84+
SIMULATION_TARGET_FPS=10
85+
86+
87+
# ==========
88+
# Fusion Analytics config
89+
# ==========
90+
91+
# Fusion Logic Configuration
92+
# "AND" means both systems must detect anomaly to raise alert
93+
# "OR" means either system detecting anomaly raises alert
94+
# Default is "AND"
95+
FUSION_MODE=AND
96+
# Tolerance in nanoseconds for matching messages by timestamp
97+
# Default is 50ms = 50,000,000 ns
98+
TOLERANCE_NS=50e6

0 commit comments

Comments
 (0)