diff --git a/.github/workflows/build-healthchat.yaml b/.github/workflows/build-healthchat.yaml index c6f8caf28b..1169b2a088 100644 --- a/.github/workflows/build-healthchat.yaml +++ b/.github/workflows/build-healthchat.yaml @@ -25,6 +25,29 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 # needed for docker-package to be able to calculate the version + - name: Checkout healthchat-workspace + uses: actions/checkout@v4 + with: + repository: Novaloop-AG/healthchat-workspace + path: healthchat-workspace + token: ${{ secrets.HEALTHCHAT_WORKSPACE_TOKEN }} + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + - name: Build element-plugin + run: | + cd healthchat-workspace/element-plugin + npm ci + npm run build + cd module + npm ci + npm run build + - name: Stage plugin artifacts for Docker + run: | + mkdir -p plugin-dist/elements + cp healthchat-workspace/element-plugin/module/dist/healthchat-module.js plugin-dist/healthchat-module.js + cp healthchat-workspace/element-plugin/dist/elements/browser/main.js plugin-dist/elements/healthchat-elements.js - name: Log in to the Github Container registry uses: docker/login-action@v3 with: diff --git a/.gitignore b/.gitignore index 34a8640e70..aaf3799d7e 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,6 @@ storybook-static # vitepress /docs/.vitepress/dist /docs/.vitepress/cache + +# HealthChat plugin build artifacts +/plugin-dist diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index 0468f90cb0..dd91c8f19c 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -21,6 +21,11 @@ RUN pnpm install --frozen-lockfile COPY --link --exclude=.git --exclude=apps/web/docker . /src RUN --mount=type=bind,source=.git,target=/src/.git /src/scripts/docker-package.sh +# Copy HealthChat plugin artifacts +RUN mkdir -p /src/apps/web/webapp/modules/elements +COPY plugin-dist/healthchat-module.js /src/apps/web/webapp/modules/healthchat-module.js +COPY plugin-dist/elements/healthchat-elements.js /src/apps/web/webapp/modules/elements/healthchat-elements.js + # Copy the config now so that we don't create another layer in the app image RUN cp /src/apps/web/config.sample.json /src/apps/web/webapp/config.json