fix: Fixes sensor service test that was flaky and moves docker stuff into it's own directory.
Some checks failed
CI / Run Tests (push) Failing after 12s
Some checks failed
CI / Run Tests (push) Failing after 12s
This commit is contained in:
@@ -15,7 +15,7 @@ jobs:
|
|||||||
- name: Setup Docker buildx
|
- name: Setup Docker buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
- name: Run Test
|
- name: Run Test
|
||||||
run: make test-docker
|
run: make test
|
||||||
- name: Cleanup.
|
- name: Cleanup.
|
||||||
if: always()
|
if: always()
|
||||||
run: docker compose --file docker/docker-compose-test.yaml down
|
run: docker compose --file docker/docker-compose-test.yaml down
|
||||||
|
|||||||
8
Makefile
8
Makefile
@@ -17,13 +17,13 @@ run:
|
|||||||
@swift run dewpoint-controller
|
@swift run dewpoint-controller
|
||||||
|
|
||||||
start-mosquitto:
|
start-mosquitto:
|
||||||
@docker-compose start mosquitto
|
@docker compose start mosquitto
|
||||||
|
|
||||||
stop-mosquitto:
|
stop-mosquitto:
|
||||||
@docker-compose rm -f mosquitto || true
|
@docker compose rm -f mosquitto || true
|
||||||
|
|
||||||
test-docker:
|
test-docker:
|
||||||
@docker-compose --file docker/docker-compose-test.yaml \
|
@docker compose --file docker/docker-compose-test.yaml \
|
||||||
--project-directory "${PWD}" \
|
--project-directory "${PWD}" \
|
||||||
run --build --remove-orphans -i --rm test
|
run --build --remove-orphans -i --rm test
|
||||||
@docker-compose --file docker/docker-compose-test.yaml down
|
@docker compose --file docker/docker-compose-test.yaml down
|
||||||
|
|||||||
14
docker/Dockerfile
Executable file
14
docker/Dockerfile
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
# Build the executable
|
||||||
|
FROM swift:5.10 AS build
|
||||||
|
WORKDIR /build
|
||||||
|
COPY ./Package.* ./
|
||||||
|
RUN swift package resolve
|
||||||
|
COPY . .
|
||||||
|
RUN swift build -c release -Xswiftc -g
|
||||||
|
|
||||||
|
# Run image
|
||||||
|
FROM swift:5.10-slim
|
||||||
|
WORKDIR /run
|
||||||
|
COPY --from=build /build/.build/release/dewpoint-controller /run
|
||||||
|
CMD ["/bin/bash", "-xc", "./dewpoint-controller"]
|
||||||
3
docker/Dockerfile.mosquitto
Normal file
3
docker/Dockerfile.mosquitto
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
FROM eclipse-mosquitto:latest
|
||||||
|
COPY ./mosquitto/config/mosquitto.conf /mosquitto/config/mosquitto.conf
|
||||||
|
EXPOSE 1883
|
||||||
7
docker/Dockerfile.test
Normal file
7
docker/Dockerfile.test
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
FROM swift:5.10
|
||||||
|
WORKDIR /app
|
||||||
|
COPY ./Package.* ./
|
||||||
|
RUN swift package resolve
|
||||||
|
COPY . .
|
||||||
|
RUN swift build
|
||||||
|
CMD ["/bin/bash", "-xc", "swift", "test"]
|
||||||
22
docker/docker-compose-test.yaml
Executable file
22
docker/docker-compose-test.yaml
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
# run this with docker-compose run test
|
||||||
|
services:
|
||||||
|
test:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: docker/Dockerfile.test
|
||||||
|
working_dir: /app
|
||||||
|
depends_on:
|
||||||
|
- mosquitto
|
||||||
|
environment:
|
||||||
|
- MOSQUITTO_SERVER=mosquitto
|
||||||
|
command: /bin/bash -xc "swift test"
|
||||||
|
|
||||||
|
mosquitto:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: docker/Dockerfile.mosquitto
|
||||||
|
|
||||||
|
networks:
|
||||||
|
test:
|
||||||
|
driver: bridge
|
||||||
|
external: false
|
||||||
37
docker/docker-compose.yaml
Executable file
37
docker/docker-compose.yaml
Executable file
@@ -0,0 +1,37 @@
|
|||||||
|
# run this with docker-compose run test
|
||||||
|
services:
|
||||||
|
server:
|
||||||
|
image: swift-mqtt-dewpoint:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
env_file: .env
|
||||||
|
|
||||||
|
local:
|
||||||
|
container_name: local-server
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
depends_on:
|
||||||
|
- mosquitto
|
||||||
|
environment:
|
||||||
|
- MQTT_HOST=mosquitto
|
||||||
|
|
||||||
|
test:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile.test
|
||||||
|
working_dir: /app
|
||||||
|
depends_on:
|
||||||
|
- mosquitto
|
||||||
|
environment:
|
||||||
|
- MOSQUITTO_SERVER=mosquitto
|
||||||
|
command: /bin/bash -xc "swift test"
|
||||||
|
|
||||||
|
mosquitto:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile.mosquitto
|
||||||
|
|
||||||
|
networks:
|
||||||
|
test:
|
||||||
|
driver: bridge
|
||||||
|
external: false
|
||||||
Reference in New Issue
Block a user