Skip to content

Ci [SCRUM-180] us 705 multi stage docker image builds for production#76

Merged
Heshan1478 merged 2 commits into
developfrom
ci/SCRUM-180-US-705-Multi-Stage-Docker-Image-Builds-for-Production
Apr 22, 2026
Merged

Ci [SCRUM-180] us 705 multi stage docker image builds for production#76
Heshan1478 merged 2 commits into
developfrom
ci/SCRUM-180-US-705-Multi-Stage-Docker-Image-Builds-for-Production

Conversation

@ChaturnaK

@ChaturnaK ChaturnaK commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR introduces improvements to the CI/CD pipeline and Docker setup, focusing on multi-stage Docker image builds for production and enhanced validation processes.

Type of Change

  • CI/CD enhancement
  • Refactor
  • Feature

Changes Made

  • Implemented multi-stage Docker image builds for optimized production deployments
  • Enhanced Docker configuration with environment variable support
  • Improved CI/CD pipeline with Docker image validation checks
  • Updated API and backend configurations to align with containerized environments
  • Cleaned up build artifacts and refined project structure for better maintainability

How to Test

  1. Build Docker images using the updated configuration
  2. Run services via Docker Compose
  3. Verify all services start successfully and pass health checks
  4. Ensure CI pipeline runs without failures and validates images correctly

Related Commits

  • ci [SCRUM-180]: enhance CI/CD pipeline with Docker image validation
  • feat [SCRUM-28]: enhance Docker setup and API with environment variables

Checklist

  • Code builds successfully
  • CI pipeline passes
  • No breaking changes introduced
  • Documentation updated (if required)

@ChaturnaK
ChaturnaK requested a review from Heshan1478 April 22, 2026 09:25
@ChaturnaK ChaturnaK self-assigned this Apr 22, 2026
@ChaturnaK
ChaturnaK requested review from Dinuka-Nonis and Heshan1478 and removed request for Dinuka-Nonis and Heshan1478 April 22, 2026 09:25

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8affb923b4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

{
_logger.LogError(ex, "Google login failed for email {Email}.", payload.Email);
return StatusCode(500, new { message = "Google sign-in failed while linking your account." });
return StatusCode(500, new { message = $"Google sign-in failed: {ex.Message}" });

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove exception details from Google sign-in error responses

This response now returns ex.Message to the client on Google login failures, which can leak internal provider/database/runtime details whenever auth errors occur. Those details should stay server-side in logs; exposing them in a public 500 response increases information disclosure risk without helping clients recover.

Useful? React with 👍 / 👎.

Comment on lines +122 to +124
var systemPrompt = BuildSystemPrompt(node, snapshot, includeFormattingInstruction);
var provider = node.PreferredProvider ?? InferProviderFromModel(node.PreferredModel);
return BuildUsageEstimate(systemPrompt, history, provider, node.PreferredModel);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Exclude compacted history when estimating context usage

When a snapshot exists, older messages before snapshot.BoundaryMessageId have already been compacted into the system prompt, but this method still estimates usage from the full history. That double-counts compacted content (snapshot + original messages), so persisted/displayed token usage is inflated and can incorrectly report nodes as near/over context limits.

Useful? React with 👍 / 👎.

Comment on lines +565 to +566
if (rowsUpdated == 0)
throw new InvalidOperationException("Chat node layout update did not persist.");

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Avoid throwing 500 for missing nodes in layout updates

A missing/stale node id now throws InvalidOperationException, but SaveLayoutAsync does not catch/translate it, so normal client staleness (for example, a node deleted before a delayed drag-save arrives) becomes an unhandled 500. This should be surfaced as a controlled 4xx path instead of treating it as an internal server fault.

Useful? React with 👍 / 👎.

@Heshan1478
Heshan1478 merged commit d124c6d into develop Apr 22, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants