feat: unified CI/CD pipeline and production Docker deployment#171
Open
Omdeepb69 wants to merge 1 commit intoc2siorg:mainfrom
Open
feat: unified CI/CD pipeline and production Docker deployment#171Omdeepb69 wants to merge 1 commit intoc2siorg:mainfrom
Omdeepb69 wants to merge 1 commit intoc2siorg:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR directly implements GSoC 2026 Objectives 1 (First Deployment)
and 2 (CI/CD Integration).
Problem
The existing CI setup had two separate fragmented workflow files that
did not install GDB or g++, meaning backend tests involving compilation
would fail on any CI runner. The docker-compose.yml used a deprecated
version field, had no healthchecks, and the backend had no production
Dockerfile — only a dev one.
Changes
CI/CD:
single unified ci.yml
Docker:
for production serving (not Flask dev server)
service-based networking, healthchecks, restart policies
so the frontend only starts after the backend is confirmed ready
Note on VITE_API_BASE_URL: The docker-compose build arg sets this to
the internal service name (gdbui_server:10000) which works for
server-side rendering scenarios. For browser-based SPA deployment,
this should be set to the public hostname at build time — documented
in .env.production.