Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ env:
RUST_BACKTRACE: 1
NODE_VERSION: '18'
RUST_VERSION: '1.75'
# MQTT configuration - disabled by default for CI tests
MQTT_ENABLED: 'false'
MQTT_BROKER_URL: 'mqtt://localhost:1883'
MQTT_CLIENT_ID: 'scaleit-bridge-ci'
MQTT_TOPIC_PREFIX: 'scaleit-ci'

jobs:
# Code quality and linting
Expand Down Expand Up @@ -85,6 +90,8 @@ jobs:

- name: Run integration tests
run: cd src-rust && cargo test --test '*' --verbose
env:
MQTT_ENABLED: 'false' # MQTT disabled for unit/integration tests (no broker available)

- name: Run doc tests
run: cd src-rust && cargo test --doc
Expand Down Expand Up @@ -162,6 +169,16 @@ jobs:
- name: Install Playwright browsers
run: npx playwright install --with-deps

- name: Install and start Mosquitto MQTT Broker
run: |
sudo apt-get update
sudo apt-get install -y mosquitto mosquitto-clients
sudo systemctl start mosquitto
sudo systemctl status mosquitto
# Verify MQTT broker is running
sleep 2
mosquitto_pub -h localhost -t "test/connection" -m "CI test" || echo "MQTT test publish completed"

- name: Build frontend
run: npm run build

Expand All @@ -184,9 +201,15 @@ jobs:
sleep 10
env:
RUST_LOG: info
MQTT_ENABLED: 'true'
MQTT_BROKER_URL: 'mqtt://localhost:1883'
MQTT_CLIENT_ID: 'scaleit-bridge-e2e'
MQTT_TOPIC_PREFIX: 'scaleit-e2e'

- name: Run E2E tests
run: npm run test:e2e
env:
MQTT_ENABLED: 'true'

- name: Upload E2E test results
uses: actions/upload-artifact@v4
Expand Down
81 changes: 81 additions & 0 deletions coordination/infra-status.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
{
"agent": "infrastructure",
"branch": "cursor/infrastructure-b355",
"lastUpdate": "2026-01-14T19:30:00Z",
"currentTask": null,
"tasks": {
"I1": {
"name": "Verify Mosquitto configuration in Start-Mosquitto-Task.ps1",
"status": "completed",
"completedAt": "2026-01-14T10:15:00Z"
},
"I2": {
"name": "Create coordination infrastructure",
"status": "completed",
"completedAt": "2026-01-14T10:00:00Z"
},
"I3": {
"name": "Update Inno Setup Installer - Add MQTT checkbox and env vars",
"status": "completed",
"completedAt": "2026-01-14T19:00:00Z",
"changes": [
"Added 'mqttenable' task checkbox for enabling MQTT on startup",
"Added Configure-MQTT-Service.ps1 to installer files",
"Added Run entry to execute Configure-MQTT-Service.ps1 when mqttenable is selected"
]
},
"I4": {
"name": "Add MQTT to CI/CD pipeline",
"status": "completed",
"completedAt": "2026-01-14T19:15:00Z",
"changes": [
"Added MQTT environment variables to global env section",
"Added Mosquitto installation step for E2E tests",
"Configured MQTT_ENABLED=true for E2E test backend",
"Added MQTT_ENABLED=false for unit/integration tests (no broker)"
]
},
"I5": {
"name": "Create Configure-MQTT-Service.ps1 script",
"status": "completed",
"completedAt": "2026-01-14T19:00:00Z",
"changes": [
"Created full-featured PowerShell script for MQTT service configuration",
"Supports -Enable, -Disable, -Status operations",
"Configurable broker URL, client ID, topic prefix, auth, QoS",
"Uses NSSM to manage service environment variables",
"Auto-restarts service after configuration changes"
]
},
"I6": {
"name": "Update Windows Installation Documentation",
"status": "completed",
"completedAt": "2026-01-14T19:30:00Z",
"changes": [
"Added MQTT Configuration section with environment variables and topics",
"Added Mosquitto Installation section with setup and management",
"Added MQTT Troubleshooting section with common issues and solutions",
"Updated table of contents with new sections"
]
}
},
"phase": "phase2_completed",
"readyForMerge": true,
"summary": {
"tasksCompleted": 6,
"filesModified": [
"scripts/Start-Mosquitto-Task.ps1",
"scripts/Configure-MQTT-Service.ps1 (new)",
"installer/ScaleCmdBridge.iss",
".github/workflows/ci-cd.yml",
"docs/WINDOWS_INSTALLATION_GUIDE.md",
"coordination/infra-status.json"
],
"featuresAdded": [
"MQTT checkbox in installer for enabling MQTT on startup",
"Configure-MQTT-Service.ps1 for post-installation MQTT management",
"MQTT support in CI/CD pipeline with Mosquitto for E2E tests",
"Comprehensive MQTT documentation in Windows Installation Guide"
]
}
}
Loading