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
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Run Test
|
||||
run: make test-docker
|
||||
run: make test
|
||||
- name: Cleanup.
|
||||
if: always()
|
||||
run: docker compose --file docker/docker-compose-test.yaml down
|
||||
|
||||
8
Makefile
8
Makefile
@@ -17,13 +17,13 @@ run:
|
||||
@swift run dewpoint-controller
|
||||
|
||||
start-mosquitto:
|
||||
@docker-compose start mosquitto
|
||||
@docker compose start mosquitto
|
||||
|
||||
stop-mosquitto:
|
||||
@docker-compose rm -f mosquitto || true
|
||||
@docker compose rm -f mosquitto || true
|
||||
|
||||
test-docker:
|
||||
@docker-compose --file docker/docker-compose-test.yaml \
|
||||
@docker compose --file docker/docker-compose-test.yaml \
|
||||
--project-directory "${PWD}" \
|
||||
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