Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
1e0575b
fix: change secret name to GEMINI_KEY
swadhinbiswas Jul 10, 2026
5905356
feat: upgrade AI code reviewer to Gemini 3.5 Flash using official SDK
swadhinbiswas Jul 10, 2026
f1b954b
fix: use snake_case for thinking_level parameter
swadhinbiswas Jul 10, 2026
c3ad530
feat: switch AI reviewer from Gemini to Mistral Agent
swadhinbiswas Jul 10, 2026
35ec7c5
fix: add missing bun install step to AI reviewer workflow
swadhinbiswas Jul 10, 2026
0b857d5
fix: resolve AI review duplication and GenAI config issues
swadhinbiswas Jul 10, 2026
5b60c23
fix: require all CI jobs in branch protection and fix NPM provenance …
swadhinbiswas Jul 10, 2026
e00f76e
fix(ci): correct unresolved job dependency perf -> performance
swadhinbiswas Jul 10, 2026
e800281
fix(lint): resolve typescript strict typing errors and unused variables
swadhinbiswas Jul 10, 2026
9a407e5
fix(perf): respect SKIP_REDIS_CHECK and run baseline on built server
swadhinbiswas Jul 10, 2026
f6c4a97
fix(health): ensure storage directory exists before checking access
swadhinbiswas Jul 10, 2026
8786651
test: fix health route unit test mock for fs.mkdir
swadhinbiswas Jul 10, 2026
20ab9f4
fix(health): use proper getDatabase to fix 503 error on health endpoint
swadhinbiswas Jul 10, 2026
9364348
ci: add server warmup curls before running perf tests
swadhinbiswas Jul 10, 2026
a6268f5
ci: disable rate limiter during perf baseline check
swadhinbiswas Jul 10, 2026
2925d70
feat: add AI code reviewer using Gemini API (#68)
swadhinbiswas Jul 10, 2026
381467d
fix: comprehensive UI, docs, security, and deployment improvements
Jul 14, 2026
5fa5633
Merge remote-tracking branch 'origin/main' into feature/ai-code-reviewer
Jul 14, 2026
6ecf049
docs: rewrite README to be concise and professional
Jul 14, 2026
3116958
fix: resolve CI failures - lint errors, docs parity, type casts
Jul 14, 2026
a198b6b
Feature/ai code reviewer (#69)
swadhinbiswas Jul 14, 2026
068fffe
fix: update bun.lock and fix ThemeToggle type error
Jul 14, 2026
5913257
fix: resolve ThemeToggle merge conflict
Jul 14, 2026
f589e00
fix: resolve ThemeToggle merge conflict markers
Jul 14, 2026
ae29b3b
fix: resolve test failures - markdown, auth, admin-stats
Jul 14, 2026
4fff5fb
fix: resolve E2E test failures
Jul 15, 2026
d8121f4
fix: remove trailing garbage characters from full-flow.spec.ts
swadhinbiswas Jul 15, 2026
e00d21c
fix: resolve E2E test failures
swadhinbiswas Jul 15, 2026
270b795
Merge pull request #70 from swadhinbiswas/feature/ai-code-reviewer
swadhinbiswas Jul 15, 2026
e0b3681
ci: suppress Node 20 deprecation warning in docker publish
swadhinbiswas Jul 15, 2026
78e882e
fix: optimize Dockerfile - use --production for deps, slim base image
swadhinbiswas Jul 15, 2026
0d3c59c
docs: rich professional README with video placeholder and complete fe…
swadhinbiswas Jul 16, 2026
dc3b077
🤯fix: remove duplicate HTML structure from api-docs page causing buil…
swadhinbiswas Jul 16, 2026
bb98ea3
docs: add Docker Hub description with logo and setup instructions
swadhinbiswas Jul 16, 2026
e4e0855
fix:🥟 replace @apply with plain CSS in layout style blocks
swadhinbiswas Jul 16, 2026
2f3dec7
fix: move admin styles to globals.css, remove all is:global style blo…
swadhinbiswas Jul 16, 2026
ae6ebe8
Merge branch 'main' into feature/ai-code-reviewer
swadhinbiswas Jul 16, 2026
65baa16
fix: remove all CSS style blocks from pages causing Docker build failure
swadhinbiswas Jul 16, 2026
2f87bd7
fix: remove highlight.js CSS import causing Docker build failure
swadhinbiswas Jul 16, 2026
e60345c
fix: remove last style block from BaseLayout, move fonts/container to…
swadhinbiswas Jul 16, 2026
ebed9c1
fix: use postcss transformer to resolve vite:css build failure
swadhinbiswas Jul 17, 2026
159a3a5
fix: pin postcss to 8.4.x to fix Docker build failure
swadhinbiswas Jul 17, 2026
288fa63
fix: resolve docker build error and overhaul UI with premium github-l…
swadhinbiswas Jul 17, 2026
147c6fd
fix: resolve CSRF validation error when creating a repository
swadhinbiswas Jul 17, 2026
66af149
fix: implement global CSRF fetch interceptor
swadhinbiswas Jul 17, 2026
d29526a
fix: inject INTERNAL_HOOK_SECRET and REMOTE_USER for internal git pushes
swadhinbiswas Jul 17, 2026
c3acbd3
fix: use correct fallback port for internal git hooks
swadhinbiswas Jul 17, 2026
b899c67
fix: internal git hooks should always use 127.0.0.1 for local API calls
swadhinbiswas Jul 17, 2026
de6ba86
📦 chore: update .cron-lock
swadhinbiswas Jul 24, 2026
a5fc437
📝 docs: update README
swadhinbiswas Jul 24, 2026
a69922e
📝 docs: update notimplemented
swadhinbiswas Jul 24, 2026
00dd7f1
✨ feat: improve IssueDetail.tsx
swadhinbiswas Jul 24, 2026
8363805
✨ feat: update Header.astro page
swadhinbiswas Jul 24, 2026
9004b79
✨ feat: improve MilestonesList.tsx
swadhinbiswas Jul 24, 2026
9f9cf5d
✨ feat: improve NewMilestoneForm.tsx
swadhinbiswas Jul 24, 2026
9d59de7
✨ feat: improve CustomPRState.tsx
swadhinbiswas Jul 24, 2026
8a5ae62
✨ feat: improve InlineDiffReview.tsx
swadhinbiswas Jul 24, 2026
8dcbd4e
✨ feat: improve PullRequestsList.tsx
swadhinbiswas Jul 24, 2026
ed4f8fd
✨ feat: improve RepoSettings.tsx
swadhinbiswas Jul 24, 2026
aa542bc
✨ feat: improve WorkflowSettings.tsx
swadhinbiswas Jul 24, 2026
a8ef223
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
4647d12
♻️ refactor: update ci-gates.ts
swadhinbiswas Jul 24, 2026
2816e0e
♻️ refactor: update codeowners-enforcement.ts
swadhinbiswas Jul 24, 2026
c00e371
♻️ refactor: update git.ts
swadhinbiswas Jul 24, 2026
5c45620
♻️ refactor: update middleware.ts
swadhinbiswas Jul 24, 2026
8674de0
♻️ refactor: update csrf.ts
swadhinbiswas Jul 24, 2026
e27c69f
✨ feat: update [...path].astro page
swadhinbiswas Jul 24, 2026
173e539
✨ feat: update [sha].astro page
swadhinbiswas Jul 24, 2026
23b1011
✨ feat: update new.astro page
swadhinbiswas Jul 24, 2026
4c406a0
✨ feat: update [number].astro page
swadhinbiswas Jul 24, 2026
a2678d7
✨ feat: update deploy-keys.astro page
swadhinbiswas Jul 24, 2026
c3d05c4
✨ feat: update [...ref].astro page
swadhinbiswas Jul 24, 2026
5f99cf3
✨ feat: update [...path].astro page
swadhinbiswas Jul 24, 2026
d60ea80
✨ feat: update index.astro page
swadhinbiswas Jul 24, 2026
a198c73
♻️ refactor: update logout.ts
swadhinbiswas Jul 24, 2026
9989f4b
♻️ refactor: update register.ts
swadhinbiswas Jul 24, 2026
61d6e0c
♻️ refactor: update [branch].ts
swadhinbiswas Jul 24, 2026
1c8622f
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
6c3be43
♻️ refactor: update [userId].ts
swadhinbiswas Jul 24, 2026
5603996
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
32a023f
♻️ refactor: update push.ts
swadhinbiswas Jul 24, 2026
36377f7
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
962fa93
♻️ refactor: update [number].ts
swadhinbiswas Jul 24, 2026
855904e
♻️ refactor: update comments.ts
swadhinbiswas Jul 24, 2026
c68bdde
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
ec58f49
♻️ refactor: update [labelId].ts
swadhinbiswas Jul 24, 2026
5309f84
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
31ca9ff
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
ea46cef
♻️ refactor: update protection.ts
swadhinbiswas Jul 24, 2026
6d09753
♻️ refactor: update code-quality.ts
swadhinbiswas Jul 24, 2026
10229ec
♻️ refactor: update codeowner-enforcement.ts
swadhinbiswas Jul 24, 2026
c68c525
♻️ refactor: update comments.ts
swadhinbiswas Jul 24, 2026
eb43872
♻️ refactor: update file-approvals.ts
swadhinbiswas Jul 24, 2026
e541e04
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
9693b6f
♻️ refactor: update merge.ts
swadhinbiswas Jul 24, 2026
61297cb
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
8aac430
♻️ refactor: update issue-statuses.ts
swadhinbiswas Jul 24, 2026
56a9aff
♻️ refactor: update path-permissions.ts
swadhinbiswas Jul 24, 2026
84bfa47
♻️ refactor: update states.ts
swadhinbiswas Jul 24, 2026
3e37e83
♻️ refactor: update [id].ts
swadhinbiswas Jul 24, 2026
5688a8b
♻️ refactor: update test.ts
swadhinbiswas Jul 24, 2026
5c6ee97
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
9852399
♻️ refactor: update [slug].ts
swadhinbiswas Jul 24, 2026
e25f497
♻️ refactor: update [id].ts
swadhinbiswas Jul 24, 2026
c8223ec
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
8ccc4ba
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
15788e8
♻️ refactor: update [stackId].ts
swadhinbiswas Jul 24, 2026
3b3ab75
♻️ refactor: update sync.ts
swadhinbiswas Jul 24, 2026
413aaa1
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
d35e62d
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
67c4584
♻️ refactor: update user.ts
swadhinbiswas Jul 24, 2026
f9aba21
♻️ refactor: update [id].ts
swadhinbiswas Jul 24, 2026
8fd7f76
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
795e3da
♻️ refactor: update index.ts
swadhinbiswas Jul 24, 2026
f90bdd2
♻️ refactor: update metrics.ts
swadhinbiswas Jul 24, 2026
67283e9
♻️ refactor: update [id].ts
swadhinbiswas Jul 24, 2026
627260e
♻️ refactor: update metrics.ts
swadhinbiswas Jul 24, 2026
76746f9
✨ feat: update cli.astro page
swadhinbiswas Jul 24, 2026
45e0597
♻️ refactor: update refs.ts
swadhinbiswas Jul 24, 2026
ba5ff9f
✨ feat: update ai-review-rules.astro page
swadhinbiswas Jul 24, 2026
ce0ba87
✨ feat: update ssh-keys.astro page
swadhinbiswas Jul 24, 2026
641fef4
🎨 style: improve globals.css
swadhinbiswas Jul 24, 2026
9c385ab
♻️ refactor: update openapi-pulls-parity.test.ts
swadhinbiswas Jul 24, 2026
eddb415
📦 chore: update plans
swadhinbiswas Jul 24, 2026
ea811be
📝 docs: update cli
swadhinbiswas Jul 24, 2026
1938743
📝 docs: update ssh-keys
swadhinbiswas Jul 24, 2026
4fae0b9
📦 chore: update smartcommit.sh
swadhinbiswas Jul 24, 2026
d0e310a
✨ feat: improve CodeReviewPanel.tsx
swadhinbiswas Jul 24, 2026
0a09d9d
♻️ refactor: update review-analysis.ts
swadhinbiswas Jul 24, 2026
ccc338f
📦 chore: update review
swadhinbiswas Jul 24, 2026
70ffd48
📦 chore: update [id]
swadhinbiswas Jul 24, 2026
1435dfa
🚀 api: update milestones
swadhinbiswas Jul 24, 2026
9219247
♻️ refactor: update analysis.ts
swadhinbiswas Jul 24, 2026
0257552
feat(enterprise): add SAML 2.0, SCIM 2.0, OCI Registry, NPM package e…
swadhinbiswas Jul 30, 2026
f1c211c
fix(ci): resolve vite import issue in astro.config.mjs for GitHub Act…
swadhinbiswas Jul 30, 2026
3e11115
fix(security): update package overrides and known accepted vulnerabil…
swadhinbiswas Jul 30, 2026
3237dfc
fix(ci): update bun.lock to synchronize package.json and fix frozen-l…
swadhinbiswas Jul 30, 2026
eb28d38
fix(security): resolve EOVERRIDE conflict and add brace-expansion to …
swadhinbiswas Jul 30, 2026
ceffb76
feat: comprehensive UI overhaul, security hardening, docs, and deploy…
swadhinbiswas Jul 31, 2026
6f4e9a5
fix: resolve accessibility color contrast and theme toggle test failures
swadhinbiswas Jul 31, 2026
cf018e0
merge: resolve CSS conflicts with main (keep a11y primary/ring fix at…
swadhinbiswas Jul 31, 2026
b1978ff
fix: add retry loop and cache clearing to prod-deps Docker stage
swadhinbiswas Jul 31, 2026
277fe7b
ci: use BuildKit with GHA cache for container-scan Docker build
swadhinbiswas Jul 31, 2026
6254919
fix: harden production deployments (secrets, compose, migrations, met…
swadhinbiswas Aug 2, 2026
1ee901b
fix: remediate GitGuardian secret and fix npm publish for new package
swadhinbiswas Aug 3, 2026
614424d
fix: stop dotenv and config.json from overriding CI DATABASE_URL
swadhinbiswas Aug 5, 2026
980ced7
Resolve merge conflicts with main
Copilot Aug 5, 2026
beefd59
fix: Dockerfile.worker - copy source from build context, not deps stage
swadhinbiswas Aug 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -504,10 +504,26 @@ jobs:
working-directory: cli

- name: Publish to npm
run: npm publish --access public --provenance
working-directory: cli
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
# Check if package version already exists on registry
PKG_NAME=$(node -p "require('./package.json').name")
PKG_VERSION=$(node -p "require('./package.json').version")
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" "https://registry.npmjs.org/${PKG_NAME}/${PKG_VERSION}")
if [ "$HTTP_CODE" = "200" ]; then
echo "::warning::Version ${PKG_VERSION} already exists on npm, skipping publish"
exit 0
fi
# First publish of a new package: --provenance requires the package to exist
# so we attempt with provenance first, fall back without it on 404
if npm publish --access public --provenance 2>&1 | tee /tmp/npm-publish.log; then
echo "Published with provenance"
elif grep -q "404" /tmp/npm-publish.log; then
echo "Package not yet on registry, publishing without provenance for initial seed..."
npm publish --access public
fi

# ──────────────────────────────────────────────────
# Quality Gate Summary
Expand Down
19 changes: 12 additions & 7 deletions Dockerfile.worker
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ RUN for i in 1 2 3; do \
(echo "bun install attempt $i failed, retrying in 10s..." && sleep 10); \
done

# Copy source into a staging layer so COPY --from has the files
FROM base AS source
COPY --from=deps /app/node_modules ./node_modules
COPY . .

# Production image
FROM oven/bun:1 AS runner
WORKDIR /app
Expand All @@ -23,15 +28,15 @@ RUN mkdir -p /data/repositories /data/storage /data/cache && \
chown -R bun:bun /data

# Copy node_modules and source
COPY --from=deps --chown=bun:bun /app/node_modules ./node_modules
COPY --from=deps --chown=bun:bun /app/package.json ./
COPY --from=deps --chown=bun:bun /app/cli ./cli
COPY --from=deps --chown=bun:bun /app/tsconfig.json ./
COPY --from=source --chown=bun:bun /app/node_modules ./node_modules
COPY --from=source --chown=bun:bun /app/package.json ./
COPY --from=source --chown=bun:bun /app/cli ./cli
COPY --from=source --chown=bun:bun /app/tsconfig.json ./

# Copy source files needed for worker
COPY --from=deps --chown=bun:bun /app/src/lib ./src/lib
COPY --from=deps --chown=bun:bun /app/src/db ./src/db
COPY --from=deps --chown=bun:bun /app/scripts/worker.ts ./scripts/worker.ts
COPY --from=source --chown=bun:bun /app/src/lib ./src/lib
COPY --from=source --chown=bun:bun /app/src/db ./src/db
COPY --from=source --chown=bun:bun /app/scripts/worker.ts ./scripts/worker.ts

# Set environment variables
ENV NODE_ENV=production
Expand Down
10 changes: 6 additions & 4 deletions src/lib/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,12 @@ export function loadConfig() {
try {
const config = JSON.parse(fs.readFileSync(CONFIG_PATH, "utf8"));

// Override process.env with config values if they exist
if (config.DATABASE_URL) process.env.DATABASE_URL = config.DATABASE_URL;
if (config.DATABASE_DRIVER) process.env.DATABASE_DRIVER = config.DATABASE_DRIVER;
if (config.REDIS_URL) process.env.REDIS_URL = config.REDIS_URL;
// Only set env vars from config.json if they aren't already set in the
// environment. CI injects DATABASE_URL etc. via process.env and those
// must never be overridden by a stale data/config.json on disk.
if (config.DATABASE_URL && !process.env.DATABASE_URL) process.env.DATABASE_URL = config.DATABASE_URL;
if (config.DATABASE_DRIVER && !process.env.DATABASE_DRIVER) process.env.DATABASE_DRIVER = config.DATABASE_DRIVER;
if (config.REDIS_URL && !process.env.REDIS_URL) process.env.REDIS_URL = config.REDIS_URL;

// Store flag in process.env so we don't need to read FS constantly
process.env.OPENCODEHUB_CONFIGURED = "true";
Expand Down
Loading