Replace mosquitto service containers with detached process startup (#1000)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: thomasnordquist <7721625+thomasnordquist@users.noreply.github.com>
This commit is contained in:
29
.github/workflows/docker-browser.yml
vendored
29
.github/workflows/docker-browser.yml
vendored
@@ -34,24 +34,25 @@ jobs:
|
||||
TESTS_MQTT_BROKER_HOST: localhost
|
||||
TESTS_MQTT_BROKER_PORT: 1883
|
||||
|
||||
services:
|
||||
# MQTT broker for testing
|
||||
mosquitto:
|
||||
image: ghcr.io/thomasnordquist/mqtt-explorer-ui-tests:latest
|
||||
ports:
|
||||
- 1883:1883
|
||||
entrypoint: /bin/sh
|
||||
args: ["-c", "mosquitto -c /etc/mosquitto/conf.d/default.conf"]
|
||||
options: >-
|
||||
--health-cmd "mosquitto_sub -t '$SYS/#' -C 1"
|
||||
--health-interval 10s
|
||||
--health-timeout 5s
|
||||
--health-retries 5
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install and Start Mosquitto
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y mosquitto mosquitto-clients
|
||||
|
||||
# Create a minimal configuration file for testing
|
||||
sudo tee /etc/mosquitto/conf.d/test.conf > /dev/null <<EOF
|
||||
listener 1883
|
||||
allow_anonymous true
|
||||
persistence false
|
||||
EOF
|
||||
|
||||
# Start mosquitto in detached mode
|
||||
sudo mosquitto -c /etc/mosquitto/mosquitto.conf -d
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
|
||||
26
.github/workflows/tests.yml
vendored
26
.github/workflows/tests.yml
vendored
@@ -174,22 +174,24 @@ jobs:
|
||||
env:
|
||||
TESTS_MQTT_BROKER_HOST: localhost
|
||||
TESTS_MQTT_BROKER_PORT: 1883
|
||||
services:
|
||||
mosquitto:
|
||||
image: ghcr.io/thomasnordquist/mqtt-explorer-ui-tests:latest
|
||||
ports:
|
||||
- 1883:1883
|
||||
entrypoint: /bin/sh
|
||||
args: ["-c", "mosquitto -c /etc/mosquitto/conf.d/default.conf"]
|
||||
options: >-
|
||||
--health-cmd "mosquitto_sub -t '$SYS/#' -C 1"
|
||||
--health-interval 10s
|
||||
--health-timeout 5s
|
||||
--health-retries 5
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- name: Install and Start Mosquitto
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y mosquitto mosquitto-clients
|
||||
|
||||
# Create a minimal configuration file for testing
|
||||
sudo tee /etc/mosquitto/conf.d/test.conf > /dev/null <<EOF
|
||||
listener 1883
|
||||
allow_anonymous true
|
||||
persistence false
|
||||
EOF
|
||||
|
||||
# Start mosquitto in detached mode
|
||||
sudo mosquitto -c /etc/mosquitto/mosquitto.conf -d
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
|
||||
27
CI_CD.md
27
CI_CD.md
@@ -93,20 +93,21 @@ Tests the traditional Electron desktop application:
|
||||
Tests the new browser/server mode:
|
||||
|
||||
- **Environment**: Ubuntu latest with Node.js 24
|
||||
- **Services**:
|
||||
- **Mosquitto MQTT Broker**: Eclipse Mosquitto v2 on port 1883
|
||||
- Health checks enabled
|
||||
- Anonymous connections allowed
|
||||
- **MQTT Broker**: Mosquitto v2 on port 1883
|
||||
- Started detached with `-d` flag
|
||||
- Anonymous connections allowed
|
||||
- No persistence
|
||||
- **Steps**:
|
||||
1. Setup Node.js 24
|
||||
2. Install dependencies
|
||||
3. Install Playwright browsers (`npx playwright install --with-deps chromium`)
|
||||
4. Build browser mode (`yarn build:server`)
|
||||
5. Run unit tests (app + backend)
|
||||
6. Start server in background with test credentials
|
||||
7. Wait for server to be ready
|
||||
8. Run browser smoke tests
|
||||
9. Clean up server process
|
||||
1. Install and start Mosquitto in detached mode
|
||||
2. Setup Node.js 24
|
||||
3. Install dependencies
|
||||
4. Install Playwright browsers (`npx playwright install --with-deps chromium`)
|
||||
5. Build browser mode (`yarn build:server`)
|
||||
6. Run unit tests (app + backend)
|
||||
7. Start server in background with test credentials
|
||||
8. Wait for server to be ready
|
||||
9. Run browser smoke tests
|
||||
10. Clean up server process
|
||||
|
||||
**Environment Variables**:
|
||||
- `MQTT_EXPLORER_USERNAME=test`
|
||||
|
||||
Reference in New Issue
Block a user