diff --git a/.github/workflows/industrial-edge-insights-time-series-pull-request.yml b/.github/workflows/industrial-edge-insights-time-series-pull-request.yml index 61795c60fd..0bb9504005 100644 --- a/.github/workflows/industrial-edge-insights-time-series-pull-request.yml +++ b/.github/workflows/industrial-edge-insights-time-series-pull-request.yml @@ -3,12 +3,13 @@ # Copyright (C) 2025 Intel Corporation # SPDX-License-Identifier: Apache-2.0 # -name: "[Industrial Edge Insights Time Series] PR workflow" -run-name: "[Industrial Edge Insights Time Series] PR workflow (by @${{ github.actor }} via ${{ github.event_name }})" +name: "[Industrial Edge Insights Time Series and Multimodal] PR workflow" +run-name: "[Industrial Edge Insights Time Series and Multimodal] PR workflow (by @${{ github.actor }} via ${{ github.event_name }})" on: pull_request: paths: - 'manufacturing-ai-suite/industrial-edge-insights-time-series/*' + - 'manufacturing-ai-suite/industrial-edge-insights-multimodal/*' workflow_call: workflow_dispatch: @@ -52,7 +53,7 @@ jobs: with: path: timeseries persist-credentials: false - - name: Building Wind Turbine Anomaly Detection Sample App + - name: Building Time Series Sample App run: | cd ./timeseries/manufacturing-ai-suite/industrial-edge-insights-time-series make down @@ -87,6 +88,50 @@ jobs: cd "${{ github.workspace }}" cd ./timeseries/manufacturing-ai-suite/industrial-edge-insights-time-series make down + - name: Deploying Weld Anomaly Detection Sample App + run: | + cd "${{ github.workspace }}" + cd ./timeseries/manufacturing-ai-suite/industrial-edge-insights-time-series + echo "Deploying Weld Anomaly Detection Sample App" + make up_mqtt_ingestion app=weld-anomaly-detection + - name: Undeploying Weld Anomaly Detection Sample App + run: | + cd "${{ github.workspace }}" + cd ./timeseries/manufacturing-ai-suite/industrial-edge-insights-time-series + make down + + - name: Building Multimodal Sample App + run: | + cd ./timeseries/manufacturing-ai-suite/industrial-edge-insights-multimodal + make down + # Generate random values for sensitive environment variables + INFLUXDB_USERNAME=$(cat /dev/urandom | tr -dc 'a-zA-Z' | head -c 8) + INFLUXDB_PASSWORD=$(openssl rand -hex 6) + VISUALIZER_GRAFANA_USER=$(cat /dev/urandom | tr -dc 'a-zA-Z' | head -c 8) + VISUALIZER_GRAFANA_PASSWORD=$(openssl rand -hex 6) + MTX_WEBRTCICESERVERS2_0_USERNAME=$(cat /dev/urandom | tr -dc 'a-zA-Z' | head -c 8) + MTX_WEBRTCICESERVERS2_0_PASSWORD=$(openssl rand -hex 10) + HOST_IP=$(hostname -I | awk '{print $1}') + + sed -i "s/INFLUXDB_USERNAME=.*/INFLUXDB_USERNAME=${INFLUXDB_USERNAME}/g" .env + sed -i "s/INFLUXDB_PASSWORD=.*/INFLUXDB_PASSWORD=${INFLUXDB_PASSWORD}/g" .env + sed -i "s/VISUALIZER_GRAFANA_USER=.*/VISUALIZER_GRAFANA_USER=${VISUALIZER_GRAFANA_USER}/g" .env + sed -i "s/VISUALIZER_GRAFANA_PASSWORD=.*/VISUALIZER_GRAFANA_PASSWORD=${VISUALIZER_GRAFANA_PASSWORD}/g" .env + sed -i "s/MTX_WEBRTCICESERVERS2_0_USERNAME=.*/MTX_WEBRTCICESERVERS2_0_USERNAME=${MTX_WEBRTCICESERVERS2_0_USERNAME}/g" .env + sed -i "s/MTX_WEBRTCICESERVERS2_0_PASSWORD=.*/MTX_WEBRTCICESERVERS2_0_PASSWORD=${MTX_WEBRTCICESERVERS2_0_PASSWORD}/g" .env + sed -i "s/HOST_IP=.*/HOST_IP=${HOST_IP}/g" .env + make build + - name: Deploying Multimodal Weld Defect Detection Sample App + run: | + cd "${{ github.workspace }}" + cd ./timeseries/manufacturing-ai-suite/industrial-edge-insights-multimodal + echo "Deploying Multimodal Weld Defect Detection Sample App" + make up + - name: Undeploying Multimodal Weld Defect Detection Sample App + run: | + cd "${{ github.workspace }}" + cd ./timeseries/manufacturing-ai-suite/industrial-edge-insights-multimodal + make down industrial-edge-insights-time-series-scans: uses: ./.github/workflows/industrial-edge-insights-time-series-scans.yml diff --git a/.github/workflows/industrial-edge-insights-time-series-scans.yml b/.github/workflows/industrial-edge-insights-time-series-scans.yml index 4bba9ea72c..b615c0094d 100644 --- a/.github/workflows/industrial-edge-insights-time-series-scans.yml +++ b/.github/workflows/industrial-edge-insights-time-series-scans.yml @@ -367,7 +367,11 @@ jobs: sed -i "s/VISUALIZER_GRAFANA_USER:.*/VISUALIZER_GRAFANA_USER: ${VISUALIZER_GRAFANA_USER}/g" values.yaml sed -i "s/VISUALIZER_GRAFANA_PASSWORD:.*/VISUALIZER_GRAFANA_PASSWORD: ${VISUALIZER_GRAFANA_PASSWORD}/g" values.yaml - trivy config . >> trivy-timeseries-helm.txt + trivy config . >> trivy-timeseries-mqtt-helm.txt + + sed -i "s/TELEGRAF_INPUT_PLUGIN:.*/TELEGRAF_INPUT_PLUGIN: opcua/g" values.yaml + trivy config . >> trivy-timeseries-opcua-helm.txt + fi - name: Upload Scan artifact to Github @@ -375,7 +379,7 @@ jobs: with: name: Trivy Report - Config scan for Helm path: | - manufacturing-ai-suite/industrial-edge-insights-time-series/helm/trivy-timeseries-helm.txt + manufacturing-ai-suite/industrial-edge-insights-time-series/helm/trivy-timeseries-*.txt trivy-config-time-series-dockerfile-scan: if: ${{ ((inputs.target == 'trivy-config-scan') || (inputs.target == 'trivy-dockerfile-scan') || (inputs.target == 'all-scans')) && ((inputs.application == 'time-series') || (inputs.application == 'both')) }} diff --git a/.github/workflows/pre-merge.yml b/.github/workflows/pre-merge.yml index 071ef90077..a646075c5c 100644 --- a/.github/workflows/pre-merge.yml +++ b/.github/workflows/pre-merge.yml @@ -22,6 +22,7 @@ jobs: hmi-augmented-worker_changed: ${{ steps.filter.outputs.hmi-augmented-worker }} image-based-video-search_changed: ${{ steps.filter.outputs.image-based-video-search }} industrial-edge-insights-time-series_changed: ${{ steps.filter.outputs.industrial-edge-insights-time-series }} + industrial-edge-insights-multimodal_changed: ${{ steps.filter.outputs.industrial-edge-insights-multimodal }} loitering-detection_changed: ${{ steps.filter.outputs.loitering-detection }} metro-sdk-manager_changed: ${{ steps.filter.outputs.metro-sdk-manager }} pallet-defect-detection_changed: ${{ steps.filter.outputs.pallet-defect-detection }} @@ -47,6 +48,8 @@ jobs: - 'metro-ai-suite/image-based-video-search/docs/**' industrial-edge-insights-time-series: - 'manufacturing-ai-suite/industrial-edge-insights-time-series/docs/**' + industrial-edge-insights-multimodal: + - 'manufacturing-ai-suite/industrial-edge-insights-multimodal/docs/**' loitering-detection: - 'metro-ai-suite/metro-vision-ai-app-recipe/loitering-detection/docs/**' metro-sdk-manager: @@ -108,6 +111,20 @@ jobs: with: docs_directory: manufacturing-ai-suite/industrial-edge-insights-time-series exclude_patterns: "**/Overview.md" + + build_industrial-edge-insights-multimodal: + permissions: + contents: read # needed for actions/checkout + needs: filter + if: ${{ needs.filter.outputs.industrial-edge-insights-multimodal_changed == 'true' }} + uses: open-edge-platform/orch-ci/.github/workflows/build-documentation.yml@b14b0105bf312a2c98457dd021622de4c14f6bff + secrets: + SYS_ORCH_GITHUB: ${{ secrets.SYS_ORCH_GITHUB }} + DOC_AWS_ACCESS_KEY_ID: ${{ secrets.DOC_AWS_ACCESS_KEY_ID }} + DOC_AWS_SECRET_ACCESS_KEY: ${{ secrets.DOC_AWS_SECRET_ACCESS_KEY }} + with: + docs_directory: manufacturing-ai-suite/industrial-edge-insights-multimodal + exclude_patterns: "**/Overview.md" build_loitering-detection: permissions: