From 44f3e9ccdb8edb6e631f834d38d7984730128d1c Mon Sep 17 00:00:00 2001 From: Felipe Lalanne Date: Mon, 22 Aug 2022 16:18:33 -0400 Subject: [PATCH] Add command to spawn a development environment For development, now doing `npm run dev` will spawn containers with the necessary dependencies for developing and testing the supervisor. --- Dockerfile.template | 5 +++++ docker-compose.dev.yml | 25 +++++++++++++++++++++++++ package.json | 2 ++ 3 files changed, 32 insertions(+) create mode 100644 docker-compose.dev.yml diff --git a/Dockerfile.template b/Dockerfile.template index b08afe5f..26326f3f 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -101,6 +101,11 @@ COPY src ./src COPY test ./test COPY typings ./typings +################################################## +# CI tests are ran here +################################################## +FROM test as test-ci + # Run tests RUN npm run test diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 00000000..7dc47194 --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,25 @@ +version: '2' + +services: + docker: + image: docker:dind + privileged: true + environment: + DOCKER_TLS_CERTDIR: '' + command: --tls=false --debug + + sut: + build: + context: ./ + dockerfile: Dockerfile.template + target: test + args: + # Change this if testing in another architecture + ARCH: amd64 + command: sleep infinity + environment: + DOCKER_HOST: tcp://docker:2375 + volumes: + - './.mochapodrc.yml:/usr/src/app/.mochapodrc.yml' + - './src:/usr/src/app/src' + - './test:/usr/src/app/test' diff --git a/package.json b/package.json index 322fd83e..5a6e652c 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,8 @@ "url": "https://github.com/balena-os/balena-supervisor.git" }, "scripts": { + "dev": "docker-compose -f docker-compose.dev.yml up --build || npm run compose:down", + "compose:down": "docker-compose -f docker-compose.dev.yml down", "start": "./entry.sh", "build": "npm run clean && npm run release && webpack", "lint": "balena-lint -e ts -e js --typescript src/ test/ typings/ build-utils/ webpack.config.js",