Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
defbd5f
Initial plan
Copilot Mar 6, 2026
085be9f
Restructure frontend from Next.js to Vite React app
Copilot Mar 6, 2026
83aa5a0
Restructure: move frontend to app/ (Vite React), add Python backend t…
Copilot Mar 6, 2026
55d1a98
Add Dockerfile, Makefile, start.sh; update docs, config, and workflows
Copilot Mar 6, 2026
f9d258e
Fix Flask debug mode security alert in test file
Copilot Mar 6, 2026
7128e26
Change npm install to npm ci for dependencies
gkorland Mar 8, 2026
5ce6aef
Remove npm install from Playwright CI workflow
gkorland Mar 8, 2026
b2c2011
Merge pull request #523 from FalkorDB/gkorland-patch-1
gkorland Mar 8, 2026
ca5fdad
Merge staging into copilot/merge-code-graph-repositories
gkorland Mar 8, 2026
2e2c9ad
Fix Playwright CI for new Vite + Flask architecture
gkorland Mar 8, 2026
90b6ed7
Initial plan
Copilot Mar 8, 2026
069e1af
Fix flaky E2E tests on Firefox: async URL assertions and canvas anima…
Copilot Mar 8, 2026
73b6bf4
Merge pull request #525 from FalkorDB/copilot/fix-navbar-external-nav…
gkorland Mar 8, 2026
21fe0d7
Merge branch 'staging' into copilot/merge-code-graph-repositories
gkorland Mar 8, 2026
5ef5754
Fix bugs and issues from PR review comments
gkorland Mar 8, 2026
a45ac22
Fix Playwright tests: parse FALKORDB_URL and wait for Flask
gkorland Mar 8, 2026
eee3686
Fix workflow: handle FALKORDB_URL parsing in script instead of if con…
gkorland Mar 8, 2026
908683d
Add /api prefix to Flask routes for dev/prod consistency
gkorland Mar 8, 2026
fa46838
Set VITE_SECRET_TOKEN during frontend build for auth in CI
gkorland Mar 8, 2026
f88c3f0
Remove FALKORDB_URL parsing, use local FalkorDB service
gkorland Mar 8, 2026
5850fb9
Initial plan
Copilot Mar 8, 2026
917539c
Fix waitForCanvasAnimationToEnd to throw on timeout instead of silent…
Copilot Mar 8, 2026
cff30c1
Add data seeding step to Playwright CI workflow
gkorland Mar 8, 2026
940cb5e
Fix AttributeError in Python analyzer for non-poetry pyproject.toml
gkorland Mar 8, 2026
5a797e0
Update @falkordb/canvas dependency to version 0.0.44 and adjust linkL…
Anchel123 Mar 8, 2026
e49bffb
Merge pull request #527 from FalkorDB/bump-canvas-v0.0.44
Anchel123 Mar 8, 2026
d236d92
Fix tree-sitter 0.25.x API: use QueryCursor instead of Query.captures
gkorland Mar 8, 2026
c19ff5b
Trigger CI re-run
gkorland Mar 8, 2026
0e87ee4
Merge branch 'staging' into copilot/sub-pr-524
gkorland Mar 8, 2026
62fcc5f
Merge staging: resolve conflicts, bump @falkordb/canvas to 0.0.44
Copilot Mar 8, 2026
44ccd91
Update e2e/logic/POM/codeGraph.ts
gkorland Mar 8, 2026
29d1553
Merge pull request #526 from FalkorDB/copilot/sub-pr-524
gkorland Mar 8, 2026
af27c7b
Merge staging: resolve conflicts, incorporate e2e waitForCanvasAnimat…
Copilot Mar 8, 2026
9609d7e
fix: update Makefile to use uv instead of bare pip/python
gkorland Mar 8, 2026
ac6cd7a
chore: add uv.lock and update package-lock.json
gkorland Mar 8, 2026
1ec9b80
chore: add ruff linting, e2e target, and improve Makefile
gkorland Mar 8, 2026
a5737f0
merge: resolve conflicts with staging
gkorland Mar 8, 2026
671cfa1
fix: bypass token auth when CODE_GRAPH_PUBLIC=1
gkorland Mar 8, 2026
d5e1be2
fix: scope public_access to safe routes, protect analyze_folder
gkorland Mar 8, 2026
c7e6cee
fix: replace toml library with stdlib tomllib to fix Flask pyproject.…
gkorland Mar 9, 2026
81cbff7
fix: align E2E test response types with Flask API format
gkorland Mar 9, 2026
0fbdcca
fix tests
Naseem77 Mar 9, 2026
d7421ed
fix: enable public access for CI E2E tests and update test data
gkorland Mar 9, 2026
88cbc05
Merge pull request #528 from FalkorDB/fix-tests
Naseem77 Mar 9, 2026
a909532
fix: resolve remaining Playwright CI failures
gkorland Mar 9, 2026
9387bb5
fix(e2e): ensure CALLS edges exist for path tests
gkorland Mar 9, 2026
66263c1
fix(e2e): resolve path test timing and autocomplete ambiguity
gkorland Mar 9, 2026
8cc0357
Fix find_paths API call sending string IDs instead of integers
gkorland Mar 9, 2026
ae44c91
Fix clear graph test assertion and relax chat LLM comparison
gkorland Mar 10, 2026
9e9d770
Merge branch 'staging' into copilot/merge-code-graph-repositories
gkorland Mar 10, 2026
f5b559d
Merge pull request #522 from FalkorDB/copilot/merge-code-graph-reposi…
gkorland Mar 10, 2026
f1c082e
Initial plan
Copilot Mar 10, 2026
59d590b
Fix flaky Playwright CI tests: navbar popup timeout and canvas center…
Copilot Mar 10, 2026
99514f3
Fix navBar test: remove trailing slash from falkorDBUrl to match href…
Copilot Mar 10, 2026
f063417
Merge pull request #529 from FalkorDB/copilot/fix-nav-bar-popup-timeout
gkorland Mar 10, 2026
78f3ce2
Initial plan
Copilot Mar 10, 2026
9f56896
Initial plan
Copilot Mar 10, 2026
3fbb5a6
Initial plan
Copilot Mar 10, 2026
2221081
Initial plan
Copilot Mar 10, 2026
f918256
ci: cache Playwright browsers in workflow
Copilot Mar 10, 2026
8610bb9
ci: switch workflow backend installs to uv sync
Copilot Mar 10, 2026
7aaa545
ci: preserve nextjs test extras with uv sync
Copilot Mar 10, 2026
d3cf8f9
ci: add concurrency groups to build and playwright workflows
Copilot Mar 10, 2026
b0b77f7
ci: cache npm dependencies in workflows
Copilot Mar 10, 2026
c1b27a3
ci: fix playwright python import path
Copilot Mar 10, 2026
16feaea
Merge pull request #562 from FalkorDB/copilot/add-concurrency-groups-…
gkorland Mar 10, 2026
4e918d3
Apply suggestion from @Copilot
gkorland Mar 10, 2026
4c4b600
Apply suggestion from @Copilot
gkorland Mar 10, 2026
75c44a3
Apply suggestion from @Copilot
gkorland Mar 10, 2026
80e74ea
Merge branch 'staging' into copilot/cache-playwright-browsers-ci
gkorland Mar 10, 2026
ee1a6c9
Initial plan
Copilot Mar 10, 2026
44ce191
Merge branch 'staging' into copilot/add-npm-cache-to-ci
gkorland Mar 10, 2026
5c2f2f9
Add github-actions and pip ecosystems to dependabot.yml
Copilot Mar 10, 2026
e0bcdf6
Merge pull request #584 from FalkorDB/copilot/update-dependabot-yml
gkorland Mar 10, 2026
eee57aa
Bump actions/upload-artifact from 4 to 7
dependabot[bot] Mar 10, 2026
0a0c2f4
Bump actions/setup-node from 4 to 6
dependabot[bot] Mar 10, 2026
074ebaf
Bump docker/login-action from 3 to 4
dependabot[bot] Mar 10, 2026
53556e9
Bump @playwright/test from 1.57.0 to 1.58.2
dependabot[bot] Mar 10, 2026
7d03f6c
Bump actions/setup-python from 5 to 6
dependabot[bot] Mar 10, 2026
5e915f0
Initial plan
Copilot Mar 10, 2026
7f35b80
Merge pull request #586 from FalkorDB/dependabot/github_actions/stagi…
gkorland Mar 10, 2026
5b7788a
Merge branch 'staging' into dependabot/github_actions/staging/actions…
gkorland Mar 10, 2026
3a80140
Merge pull request #587 from FalkorDB/dependabot/github_actions/stagi…
gkorland Mar 10, 2026
38170d0
Merge branch 'staging' into dependabot/github_actions/staging/docker/…
gkorland Mar 10, 2026
165fb15
Merge pull request #588 from FalkorDB/dependabot/github_actions/stagi…
gkorland Mar 10, 2026
6ea29e8
Merge branch 'staging' into dependabot/github_actions/staging/actions…
gkorland Mar 10, 2026
66fe515
Merge pull request #591 from FalkorDB/dependabot/github_actions/stagi…
gkorland Mar 10, 2026
e2ba384
Bump docker/build-push-action from 5 to 7
dependabot[bot] Mar 10, 2026
a38b281
Merge branch 'staging' into dependabot/github_actions/staging/docker/…
gkorland Mar 10, 2026
263ac50
Merge pull request #590 from FalkorDB/dependabot/github_actions/stagi…
gkorland Mar 10, 2026
593e04e
Merge branch 'staging' into dependabot/npm_and_yarn/staging/playwrigh…
gkorland Mar 10, 2026
b62b0ab
Merge pull request #589 from FalkorDB/dependabot/npm_and_yarn/staging…
gkorland Mar 10, 2026
a26fc0e
Merge branch 'staging' into copilot/cache-playwright-browsers-ci
gkorland Mar 10, 2026
a1b3a83
Merge pull request #560 from FalkorDB/copilot/cache-playwright-browse…
gkorland Mar 10, 2026
5fbbf7d
fix: make docker build use official node toolchain
Copilot Mar 10, 2026
f2a69ad
chore: restrict workflow token permissions
Copilot Mar 10, 2026
0bedfeb
Merge branch 'staging' into copilot/fix-docker-build-error
gkorland Mar 10, 2026
2713bf8
Update .github/workflows/nextjs.yml
gkorland Mar 10, 2026
25f5344
Merge branch 'staging' into copilot/switch-ci-to-uv-sync
gkorland Mar 10, 2026
235f62a
chore: remove unused docker build packages
Copilot Mar 10, 2026
68cf518
Merge pull request #595 from FalkorDB/copilot/fix-docker-build-error
gkorland Mar 10, 2026
b9ccd3e
Merge branch 'staging' into copilot/switch-ci-to-uv-sync
gkorland Mar 10, 2026
c122265
Merge branch 'staging' into copilot/add-npm-cache-to-ci
gkorland Mar 10, 2026
6643fe4
Merge pull request #563 from FalkorDB/copilot/add-npm-cache-to-ci
gkorland Mar 10, 2026
db06ab7
docs: improve README formatting and add support sections
gkorland Mar 10, 2026
3c44cd8
Merge branch 'staging' into copilot/switch-ci-to-uv-sync
gkorland Mar 10, 2026
f444837
Merge pull request #561 from FalkorDB/copilot/switch-ci-to-uv-sync
gkorland Mar 10, 2026
8d3bf7d
fix: remove contributing link to nonexistent CONTRIBUTING.md
gkorland Mar 10, 2026
9882c01
Update README.md
gkorland Mar 10, 2026
63cb8dc
Merge branch 'staging' into readme-formatting-improvements
gkorland Mar 10, 2026
b1948ca
Merge pull request #597 from FalkorDB/readme-formatting-improvements
gkorland Mar 10, 2026
611405c
Rename nextjs.yml to build.yml
gkorland Mar 10, 2026
be12eda
Merge pull request #598 from FalkorDB/rename-nextjs-workflow
gkorland Mar 10, 2026
67e0c0c
fix(ci): stop Flask server before uv cache cleanup
gkorland Mar 10, 2026
17d1471
Merge pull request #600 from FalkorDB/fix/playwright-ci-cleanup
gkorland Mar 10, 2026
5e0f585
fix: skip internal FalkorDB when FALKORDB_HOST is external
gkorland Mar 10, 2026
0096860
fix: also detect loopback IPs (127.x.x.x) as local FalkorDB
gkorland Mar 10, 2026
ede7dc4
fix: add configurable timeout to FalkorDB wait loop
gkorland Mar 10, 2026
ba4e288
Merge pull request #601 from FalkorDB/fix/skip-internal-falkordb-when…
gkorland Mar 10, 2026
9bc4658
Update default LLM model to gemini/gemini-flash-lite-latest
gkorland Mar 10, 2026
83f56f3
Merge pull request #602 from FalkorDB/update-default-model-gemini-fla…
gkorland Mar 10, 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
17 changes: 15 additions & 2 deletions .env.template
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
PORT=<PORT>
HOST=<HOST>
# FalkorDB connection
FALKORDB_HOST=localhost
FALKORDB_PORT=6379

# OpenAI API key for LLM features
OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>

# Secret token for API authentication
SECRET_TOKEN=<YOUR_SECRET_TOKEN>

# Flask server settings
FLASK_RUN_HOST=0.0.0.0
FLASK_RUN_PORT=5000

# Set to 1 to enable public access for analyze_repo/switch_commit endpoints
CODE_GRAPH_PUBLIC=0
3 changes: 0 additions & 3 deletions .eslintrc.json

This file was deleted.

22 changes: 21 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,24 @@ updates:
npm-minor-patch:
update-types:
- "patch"


- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
target-branch: "staging"
groups:
github-actions-minor-patch:
update-types:
- "patch"

- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
target-branch: "staging"
groups:
pip-minor-patch:
update-types:
- "patch"

68 changes: 68 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Build

on:
push:
branches: ["main"]
pull_request:
workflow_dispatch:

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: "24"
cache: "npm"
cache-dependency-path: |
package-lock.json
app/package-lock.json

- name: Install frontend dependencies
working-directory: ./app
run: npm ci

- name: Build frontend
working-directory: ./app
run: npm run build

- name: Lint frontend
working-directory: ./app
run: npm run lint

- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.12"

- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: "latest"

- name: Install backend dependencies
run: uv sync --extra test

docker-build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Build Docker image
uses: docker/build-push-action@v7
with:
context: .
file: ./Dockerfile
push: false
73 changes: 0 additions & 73 deletions .github/workflows/nextjs.yml

This file was deleted.

97 changes: 84 additions & 13 deletions .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,17 @@ on:
branches: [ main, staging ]
pull_request:
branches: [ main, staging ]

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
env:
PYTHONPATH: ${{ github.workspace }}
strategy:
fail-fast: false
matrix:
Expand All @@ -19,38 +26,102 @@ jobs:
- 6379:6379
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4

- uses: actions/setup-node@v6
with:
node-version: 24
- name: Install dependencies
cache: 'npm'
cache-dependency-path: |
package-lock.json
app/package-lock.json

- uses: actions/setup-python@v6
with:
python-version: '3.12'

- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: "latest"

- name: Install backend dependencies
run: uv sync

- name: Install frontend dependencies
working-directory: ./app
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Set up environment variables and run tests

- name: Build frontend
working-directory: ./app
env:
VITE_SECRET_TOKEN: ${{ secrets.SECRET_TOKEN }}
run: npm run build

- name: Seed test data into FalkorDB
run: uv run python e2e/seed_test_data.py

- name: Install Playwright npm dependencies
run: |
npm ci

- name: Cache Playwright browsers
id: playwright-cache
uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('package-lock.json') }}

- name: Install Playwright browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: npx playwright install --with-deps chromium firefox

- name: Install Playwright system deps
if: steps.playwright-cache.outputs.cache-hit == 'true'
run: |
npx playwright install chromium firefox
npx playwright install-deps chromium firefox

- name: Start Flask server
id: start-server
env:
FALKORDB_URL: ${{ secrets.FALKORDB_URL }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
SECRET_TOKEN: ${{ secrets.SECRET_TOKEN }}
NEXT_PUBLIC_MODE: UNLIMITED
BACKEND_URL: ${{ secrets.BACKEND_URL }}
CODE_GRAPH_PUBLIC: "1"
MODEL_NAME: "openai/gpt-4.1-mini"
run: |
npm install
npm run build
NEXTAUTH_SECRET=SECRET npm start & npx playwright test --shard=${{ matrix.shard }}/2 --reporter=dot,list
uv run flask --app api/index.py run --host 0.0.0.0 --port 5000 &
echo "pid=$!" >> "$GITHUB_OUTPUT"
# Wait for Flask to be ready
timeout 30 bash -c 'until curl -s http://localhost:5000/ > /dev/null 2>&1; do sleep 0.5; done'

- name: Run Playwright tests
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
SECRET_TOKEN: ${{ secrets.SECRET_TOKEN }}
CODE_GRAPH_PUBLIC: "1"
MODEL_NAME: "openai/gpt-4.1-mini"
run: npx playwright test --shard=${{ matrix.shard }}/2 --reporter=dot,list

- name: Stop Flask server
if: always()
run: kill ${{ steps.start-server.outputs.pid }} 2>/dev/null || true

- name: Ensure required directories exist
if: always()
run: |
mkdir -p playwright-report
mkdir -p playwright-report/artifacts
- uses: actions/upload-artifact@v4

- uses: actions/upload-artifact@v7
if: always()
with:
name: playwright-report-shard-${{ matrix.shard }}
path: playwright-report/
retention-days: 30

- name: Upload failed test screenshots
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: failed-test-screenshots-shard-${{ matrix.shard }}
path: playwright-report/artifacts/
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/release-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,19 @@ jobs:
- name: Set tags
run: |
if ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags') }}; then
echo "TAGS=falkordb/code-graph-frontend:latest,falkordb/code-graph-frontend:${{ github.ref_name }}" >> $GITHUB_ENV
echo "TAGS=falkordb/code-graph:latest,falkordb/code-graph:${{ github.ref_name }}" >> $GITHUB_ENV
else
echo "TAGS=falkordb/code-graph-frontend:edge" >> $GITHUB_ENV
echo "TAGS=falkordb/code-graph:edge" >> $GITHUB_ENV
fi

- name: Login to DockerHub
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Build image
uses: docker/build-push-action@v5
uses: docker/build-push-action@v7
with:
context: .
file: ./Dockerfile
Expand Down
Loading
Loading