Skip to content

Fix/platform polish and ci cd - #83

Merged
swadhinbiswas merged 1 commit into
mainfrom
fix/platform-polish-and-ci-cd
Aug 19, 2026
Merged

Fix/platform polish and ci cd#83
swadhinbiswas merged 1 commit into
mainfrom
fix/platform-polish-and-ci-cd

Conversation

@swadhinbiswas

@swadhinbiswas swadhinbiswas commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Summary of Changes Included in this Branch

1. Docker Build Speed & Image Size Optimization

• .dockerignore Added: Prevents copying node_modules (2.5GB),
data/ (436MB), community/ (410MB), and docs-site/ (290MB) into
the Docker context. Context size dropped from >3.7 GB to ~15 MB.
• Multi-Stage Dockerfile: Split into deps, prod-deps (with
test/doc pruning), builder, and a lean production runner
(oven/bun:1-slim). Production image size is now 251 MB.
• Dockerfile.worker & Dockerfile.runner: Optimized layer
caching, reduced package footprints, and cleared npm/apk caches.

2. CI/CD Pipeline Acceleration

• Parallel Matrix Builds (docker-publish.yml): Replaced the 4-
hour sequential build with parallel matrix execution across
independent GitHub Actions runners for App, Worker, and Runner.
• Fast Continuous Delivery: Fast single-arch (linux/amd64)
build on main push (< 4 minutes with GHA cache) and full multi-
arch (linux/amd64,linux/arm64) on release tags (v*).

3. Site-Wide UI & Design System Cohesion

• Authentic Branding: Added unified vector logo components
(Logo.astro and Logo.tsx) matching the landing page and profile
aesthetics.
• Whole-Site Polish: Harmonized styles across pulls, issues,
explore, stars, repositories, notifications, actions, dashboard,
merge-queue, stacks, orgs, insights, inbox, login, and register.
• Issue Conversation & Comment Timeline: Built complete
timeline view, original issue card, markdown comment thread,
write/preview composer, and clean sidebar controls in
IssueDetail.tsx.
• Password Reset Pages: Overhauled password-reset.astro and
/reset-password/[token]
file:///home/swadhin/owngit/OpenCodeHub/src/pages/reset-
password/%5Btoken%5D.astro with full dark mode parity, input
icons, and loading feedback.

4. Stability & Local Dev Error Resilience

• Database Safety: Wrapped database queries in
UserProfileView.astro with try/catch and fallback guards
against placeholder-user to prevent ECONNREFUSED crashes during
astro dev.
• Docker Compose Ports: Exposed PostgreSQL (5432) and Redis
(6379) in docker-compose.yml for local development workflows.

Summary by CodeRabbit

  • New Features

    • Added a federated Community Hub for discovering instances, repositories, and profiles.
    • Added account registration, login, dashboards, search, following, starring, and repository exploration.
    • Added instance submission, synchronization, repository details, and profile pages.
    • Added expanded issue collaboration, including comments, assignments, linked pull requests, and Markdown support.
    • Added redesigned dashboards, Actions, inbox, Insights, issues, pull requests, repositories, notifications, and merge queue views.
  • Style

    • Refreshed layouts, branding, navigation, icons, responsive behavior, and shared logo presentation across the application.
  • Chores

    • Improved container publishing, runtime packaging, environment configuration, and end-to-end validation.

@greptile-apps

greptile-apps Bot commented Aug 19, 2026

Copy link
Copy Markdown

Too many files changed for review (152 files, 100 file limit).

Bypass the limit by tagging @greptile-apps to review.

@gitguardian

gitguardian Bot commented Aug 19, 2026

Copy link
Copy Markdown

⚠️ GitGuardian has uncovered 1 secret following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secret in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
27968088 Triggered Generic Password c3e5c18 docker-compose.yml View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secret safely. Learn here the best practices.
  3. Revoke and rotate this secret.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@coderabbitai

coderabbitai Bot commented Aug 19, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 1d63feb9-dd10-4c06-98a7-dbb0b6c43f19

📥 Commits

Reviewing files that changed from the base of the PR and between c0437ed and c3e5c18.

⛔ Files ignored due to path filters (6)
  • community/bun.lock is excluded by !**/*.lock
  • community/public/logo.svg is excluded by !**/*.svg
  • public/favicon.png is excluded by !**/*.png
  • public/favicon.svg is excluded by !**/*.svg
  • public/logo.svg is excluded by !**/*.svg
  • public/opencodelogo.png is excluded by !**/*.png
📒 Files selected for processing (89)
  • .astro/settings.json
  • .dockerignore
  • .github/workflows/docker-publish.yml
  • Dockerfile
  • Dockerfile.runner
  • Dockerfile.worker
  • UIPLAN.md
  • community/.env.example
  • community/.gitignore
  • community/README.md
  • community/astro.config.mjs
  • community/drizzle.config.ts
  • community/package.json
  • community/scripts/cron-sync.ts
  • community/src/components/InstanceCard.tsx
  • community/src/components/ProfileCard.tsx
  • community/src/components/RepoCard.tsx
  • community/src/components/layout/Footer.astro
  • community/src/components/layout/Header.tsx
  • community/src/components/ui/avatar.tsx
  • community/src/components/ui/badge.tsx
  • community/src/components/ui/button.tsx
  • community/src/components/ui/card.tsx
  • community/src/components/ui/input.tsx
  • community/src/components/ui/label.tsx
  • community/src/components/ui/toaster.tsx
  • community/src/env.d.ts
  • community/src/layouts/BaseLayout.astro
  • community/src/lib/auth.ts
  • community/src/lib/cache.ts
  • community/src/lib/db/index.ts
  • community/src/lib/db/schema.ts
  • community/src/lib/instance-client.ts
  • community/src/lib/utils.ts
  • community/src/pages/api/auth/login.ts
  • community/src/pages/api/auth/logout.ts
  • community/src/pages/api/auth/register.ts
  • community/src/pages/api/follows/index.ts
  • community/src/pages/api/instances/index.ts
  • community/src/pages/api/instances/submit.ts
  • community/src/pages/api/instances/sync.ts
  • community/src/pages/api/search.ts
  • community/src/pages/api/stars/index.ts
  • community/src/pages/auth/login.astro
  • community/src/pages/auth/register.astro
  • community/src/pages/dashboard.astro
  • community/src/pages/explore.astro
  • community/src/pages/index.astro
  • community/src/pages/instances/[id].astro
  • community/src/pages/instances/index.astro
  • community/src/pages/instances/submit.astro
  • community/src/pages/r/[instance]/[owner]/[repo].astro
  • community/src/pages/u/[username].astro
  • community/src/styles/globals.css
  • community/tailwind.config.mjs
  • community/tsconfig.json
  • docker-compose.yml
  • drizzle.config.ts
  • scripts/e2e-proof.sh
  • src/components/dashboard/StackCard.astro
  • src/components/ide/WebIDE.tsx
  • src/components/issues/IssueDetail.tsx
  • src/components/issues/IssuesList.tsx
  • src/components/layout/Header.astro
  • src/components/profile/UserProfileView.astro
  • src/components/pulls/PullRequestsList.tsx
  • src/components/ui/Logo.astro
  • src/components/ui/Logo.tsx
  • src/pages/[owner]/[repo]/issues/[number].astro
  • src/pages/actions.astro
  • src/pages/api/repos/[owner]/[repo]/pulls/[number]/comments.ts
  • src/pages/api/repos/[owner]/[repo]/pulls/[number]/reviews/batch.ts
  • src/pages/dashboard.astro
  • src/pages/explore.astro
  • src/pages/inbox.astro
  • src/pages/insights.astro
  • src/pages/issues.astro
  • src/pages/login.astro
  • src/pages/merge-queue.astro
  • src/pages/notifications.astro
  • src/pages/orgs/index.astro
  • src/pages/password-reset.astro
  • src/pages/pulls.astro
  • src/pages/register.astro
  • src/pages/repositories.astro
  • src/pages/reset-password/[token].astro
  • src/pages/stacks.astro
  • src/pages/stars.astro
  • tests/unit/health-route.test.ts

📝 Walkthrough

Walkthrough

This pull request adds a federated Community Hub, refactors Docker image publishing and runtime images, updates deployment configuration, refreshes shared branding, expands issue detail interactions, and redesigns many application pages.

Changes

Container and platform updates

Layer / File(s) Summary
Container images and deployment workflow
.dockerignore, .github/workflows/docker-publish.yml, Dockerfile*, docker-compose.yml, drizzle.config.ts, scripts/e2e-proof.sh, tests/unit/health-route.test.ts
Docker builds use matrix targets, slim Bun images, production dependencies, scoped caches, configurable platforms, updated runtime directories, and stricter environment handling.
Design planning
UIPLAN.md, .astro/settings.json
The UI redesign plan and Astro update-check timestamp were added or updated.

Community Hub

Layer / File(s) Summary
Community Hub foundation
community/package.json, community/astro.config.mjs, community/tailwind.config.mjs, community/src/layouts/*, community/src/components/*, community/src/lib/*
The new Astro application includes shared UI components, dark-theme styling, JWT authentication, Redis/in-memory caching, Turso database access, federation data shapes, and database tables.
Federation APIs and synchronization
community/scripts/cron-sync.ts, community/src/pages/api/*
Authentication, instance registration, repository synchronization, search, stars, and follows are exposed through server routes and scheduled synchronization.
Community pages
community/src/pages/*
Landing, authentication, dashboard, exploration, instance, repository, and profile pages render federated data and provide client-side star, follow, sync, and clone actions.

Main application refresh

Layer / File(s) Summary
Shared branding and issue detail
src/components/ui/Logo.*, src/components/layout/Header.astro, src/components/ide/WebIDE.tsx, src/components/issues/*, src/components/profile/UserProfileView.astro, src/pages/[owner]/[repo]/issues/[number].astro
Shared inline SVG logos replace image-based branding. Issue detail gains comment, Markdown, editing, assignment, linking, participant, subtask, and epic controls. Profile queries use placeholder-user and failure fallbacks.
Application page refresh
src/pages/*.astro, src/components/dashboard/StackCard.astro, src/components/issues/IssuesList.tsx, src/components/pulls/PullRequestsList.tsx
Dashboard, discovery, inbox, analytics, issue, pull request, merge queue, notification, organization, repository, star, stack, and password-reset surfaces receive updated layouts, filters, counters, icons, loading states, and client-side interactions.

Estimated code review effort: 5 (Critical) | ~120 minutes

Possibly related PRs

Suggested labels: bug, enhancement

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/platform-polish-and-ci-cd

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@swadhinbiswas
swadhinbiswas force-pushed the fix/platform-polish-and-ci-cd branch from ae4a3ae to c3e5c18 Compare August 19, 2026 18:42

@greptile-apps greptile-apps 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.

Your trial has ended. Reactivate Greptile to resume code reviews.

@swadhinbiswas
swadhinbiswas merged commit aa75470 into main Aug 19, 2026
1 of 3 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.

1 participant