From 0e3383d31da6c8c882760a86890c0dd915af50db Mon Sep 17 00:00:00 2001 From: "Kai (Tam Nhu) Tran" <61256810+kaitranntt@users.noreply.github.com> Date: Fri, 29 May 2026 11:16:19 -0400 Subject: [PATCH] hotfix: add integrated Docker healthcheck Refs #1400 --- docker/Dockerfile.integrated | 3 +++ tests/unit/docker/docker-release-workflow-context.test.ts | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/docker/Dockerfile.integrated b/docker/Dockerfile.integrated index 7d1bd03c..3ef0a74f 100644 --- a/docker/Dockerfile.integrated +++ b/docker/Dockerfile.integrated @@ -45,4 +45,7 @@ RUN chmod +x /entrypoint-integrated.sh \ EXPOSE 3000 8085 8317 +HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \ + CMD node -e "const http=require('http');const probe=(url)=>new Promise((resolve)=>{const req=http.get(url,(res)=>{res.resume();resolve(res.statusCode<400);});req.on('error',()=>resolve(false));req.setTimeout(4500,()=>{req.destroy();resolve(false);});});Promise.all([probe('http://127.0.0.1:3000/'),probe('http://127.0.0.1:8317/')]).then((results)=>process.exit(results.every(Boolean)?0:1));" + ENTRYPOINT ["/entrypoint-integrated.sh"] diff --git a/tests/unit/docker/docker-release-workflow-context.test.ts b/tests/unit/docker/docker-release-workflow-context.test.ts index 4ddb9099..2ede55f7 100644 --- a/tests/unit/docker/docker-release-workflow-context.test.ts +++ b/tests/unit/docker/docker-release-workflow-context.test.ts @@ -35,4 +35,12 @@ describe('docker release workflow context', () => { /Verify promoted tags are anonymously pullable[\s\S]*DOCKER_CONFIG="\$\{CLEAN_DOCKER_CONFIG\}" docker pull/ ); }); + + test('gives the raw integrated image a Docker healthcheck for release smoke tests', () => { + const dockerfile = readFileSync(join(repoRoot, 'docker/Dockerfile.integrated'), 'utf8'); + + expect(dockerfile).toContain('HEALTHCHECK'); + expect(dockerfile).toContain('127.0.0.1:3000'); + expect(dockerfile).toContain('127.0.0.1:8317'); + }); });