Skip to content

Commit

Permalink
Merge branch 'dev' into dependabot/pip/fastapi-0.115.6
Browse files Browse the repository at this point in the history
  • Loading branch information
Vasilije1990 authored Dec 12, 2024
2 parents fb17127 + 604550b commit cea1c7a
Show file tree
Hide file tree
Showing 32 changed files with 161 additions and 92 deletions.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
11 changes: 3 additions & 8 deletions .github/workflows/cd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: publish dev | Docker image
on:
push:
branches:
- main
- dev
- feature/*
paths-ignore:
- '**.md'
Expand All @@ -28,13 +28,8 @@ jobs:
- name: Set environment variable for stage
id: set-env
run: |
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
echo "STAGE=prd" >> $GITHUB_ENV
echo "::set-output name=stage::prd"
else
echo "STAGE=dev" >> $GITHUB_ENV
echo "::set-output name=stage::dev"
fi
echo "STAGE=dev" >> $GITHUB_ENV
echo "::set-output name=stage::dev"
- name: Use output
run: echo "The stage is ${{ steps.set-env.outputs.stage }}"
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/docker_compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ on:
push:
branches:
- main
- dev
pull_request:
branches:
- main
- dev

jobs:
docker-compose-test:
Expand Down
140 changes: 140 additions & 0 deletions .github/workflows/profiling.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
name: test | profiling

on:
workflow_dispatch:
pull_request:
types: [labeled, synchronize]

jobs:
profiler:
runs-on: ubuntu-latest

steps:
# Checkout the code from the repository with full history
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch all history so we can checkout any commit

- name: Check if the sender is a maintainer
id: check_permissions
uses: actions/github-script@v6
with:
script: |
const sender = context.payload.sender.login;
const { data: membership } = await github.rest.orgs.getMembershipForUser({
org: context.repo.owner,
username: sender,
}).catch(() => ({ data: { role: null } }));
return membership.role;
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Set is_maintainer variable
run: |
echo "is_maintainer=${{ steps.check_permissions.outputs.result == 'admin' || steps.check_permissions.outputs.result == 'maintainer' }}" >> $GITHUB_ENV
- name: Stop if not a maintainer
if: env.is_maintainer != 'true'
run: |
echo "User ${{ github.event.sender.login }} is not a maintainer. Exiting."
exit 0 # Use exit 0 to mark the job as successful but stop execution
# Set up Python environment
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Install Poetry
uses: snok/[email protected]
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true

- name: Install dependencies
run: |
poetry install --no-interaction --all-extras
poetry run pip install pyinstrument
# Set environment variables for SHAs
- name: Set environment variables
run: |
echo "BASE_SHA=${{ github.event.pull_request.base.sha }}" >> $GITHUB_ENV
echo "HEAD_SHA=${{ github.event.pull_request.head.sha }}" >> $GITHUB_ENV
# Run profiler on the base branch
- name: Run profiler on base branch
env:
BASE_SHA: ${{ env.BASE_SHA }}
run: |
echo "Profiling the base branch for code_graph_pipeline.py"
echo "Checking out base SHA: $BASE_SHA"
git checkout $BASE_SHA
echo "This is the working directory: $PWD"
# Ensure the script is executable
chmod +x cognee/api/v1/cognify/code_graph_pipeline.py
# Run Scalene
poetry run pyinstrument --renderer json -o base_results.json cognee/api/v1/cognify/code_graph_pipeline.py
# Run profiler on head branch
- name: Run profiler on head branch
env:
HEAD_SHA: ${{ env.HEAD_SHA }}
run: |
echo "Profiling the head branch for code_graph_pipeline.py"
echo "Checking out head SHA: $HEAD_SHA"
git checkout $HEAD_SHA
echo "This is the working directory: $PWD"
# Ensure the script is executable
chmod +x cognee/api/v1/cognify/code_graph_pipeline.py
# Run Scalene
poetry run pyinstrument --renderer json -o head_results.json cognee/api/v1/cognify/code_graph_pipeline.py
# Compare profiling results
- name: Compare profiling results
run: |
python -c '
import json
try:
with open("base_results.json") as f:
base = json.load(f)
with open("head_results.json") as f:
head = json.load(f)
cpu_diff = head.get("total_cpu_samples_python", 0) - base.get("total_cpu_samples_python", 0)
memory_diff = head.get("malloc_samples", 0) - base.get("malloc_samples", 0)
results = [
f"CPU Usage Difference: {cpu_diff}",
f"Memory Usage Difference: {memory_diff} bytes"
]
with open("profiling_diff.txt", "w") as f:
f.write("\\n".join(results) + "\\n")
print("\\n".join(results)) # Print results to terminal
except Exception as e:
error_message = f"Error comparing profiling results: {e}"
with open("profiling_diff.txt", "w") as f:
f.write(error_message + "\\n")
print(error_message) # Print error to terminal
'
- name: Upload profiling diff artifact
uses: actions/upload-artifact@v3
with:
name: profiling-diff
path: profiling_diff.txt

# Post results to the pull request
# - name: Post profiling results to PR
# uses: actions/github-script@v6
# with:
# script: |
# const fs = require('fs');
# const diff = fs.readFileSync('profiling_diff.txt', 'utf-8');
# github.rest.issues.createComment({
# issue_number: context.issue.number,
# owner: context.repo.owner,
# repo: context.repo.repo,
# body: `### Profiling Results for code_graph_pipeline.py\n\`\`\`\n${diff || 'No differences found.'}\n\`\`\``
# });
11 changes: 1 addition & 10 deletions .github/workflows/py_lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,16 @@
name: lint | code & tests

on:
pull_request:
branches:
- main
- devel
workflow_dispatch:
pull_request:

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

jobs:
get_docs_changes:
name: docs changes
uses: ./.github/workflows/get_docs_changes.yml

run_lint:
name: lint
needs: get_docs_changes
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true'
strategy:
fail-fast: true
matrix:
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/reusable_notebook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,9 @@ env:
RUNTIME__LOG_LEVEL: ERROR

jobs:
get_docs_changes:
name: docs changes
uses: ./.github/workflows/get_docs_changes.yml

run_notebook_test:
name: test
needs: get_docs_changes
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' && ${{ github.event.label.name == 'run-checks' }}
runs-on: ubuntu-latest
defaults:
run:
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/reusable_python_example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,9 @@ env:
RUNTIME__LOG_LEVEL: ERROR

jobs:
get_docs_changes:
name: docs changes
uses: ./.github/workflows/get_docs_changes.yml

run_notebook_test:
name: test
needs: get_docs_changes
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' && ${{ github.event.label.name == 'run-checks' }}
runs-on: ubuntu-latest
defaults:
run:
Expand Down
8 changes: 0 additions & 8 deletions .github/workflows/test_deduplication.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name: test | deduplication
on:
workflow_dispatch:
pull_request:
branches:
- main
types: [labeled, synchronize]


Expand All @@ -16,14 +14,8 @@ env:
RUNTIME__LOG_LEVEL: ERROR

jobs:
get_docs_changes:
name: docs changes
uses: ./.github/workflows/get_docs_changes.yml

run_deduplication_test:
name: test
needs: get_docs_changes
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' && ${{ github.event.label.name == 'run-checks' }}
runs-on: ubuntu-latest
defaults:
run:
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/test_milvus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,9 @@ env:
ENV: 'dev'

jobs:
get_docs_changes:
name: docs changes
uses: ./.github/workflows/get_docs_changes.yml

run_milvus:
name: test
needs: get_docs_changes
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' && ${{ github.event.label.name == 'run-checks' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
Expand Down
6 changes: 0 additions & 6 deletions .github/workflows/test_neo4j.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,8 @@ env:
RUNTIME__LOG_LEVEL: ERROR

jobs:
get_docs_changes:
name: docs changes
uses: ./.github/workflows/get_docs_changes.yml

run_neo4j_integration_test:
name: test
needs: get_docs_changes
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' && ${{ github.event.label.name == 'run-checks' }}
runs-on: ubuntu-latest

defaults:
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/test_pgvector.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,9 @@ env:
RUNTIME__LOG_LEVEL: ERROR

jobs:
get_docs_changes:
name: docs changes
uses: ./.github/workflows/get_docs_changes.yml

run_pgvector_integration_test:
name: test
needs: get_docs_changes
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' && ${{ github.event.label.name == 'run-checks' }}
runs-on: ubuntu-latest
defaults:
run:
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/test_python_3_10.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,9 @@ env:
ENV: 'dev'

jobs:
get_docs_changes:
name: docs changes
uses: ./.github/workflows/get_docs_changes.yml

run_common:
name: test
needs: get_docs_changes
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' && ${{ github.event.label.name == 'run-checks' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/test_python_3_11.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,9 @@ env:
ENV: 'dev'

jobs:
get_docs_changes:
name: docs changes
uses: ./.github/workflows/get_docs_changes.yml

run_common:
name: test
needs: get_docs_changes
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' && ${{ github.event.label.name == 'run-checks' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/test_python_3_9.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,9 @@ env:
ENV: 'dev'

jobs:
get_docs_changes:
name: docs changes
uses: ./.github/workflows/get_docs_changes.yml

run_common:
name: test
needs: get_docs_changes
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' && ${{ github.event.label.name == 'run-checks' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/test_qdrant.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,9 @@ env:
RUNTIME__LOG_LEVEL: ERROR

jobs:
get_docs_changes:
name: docs changes
uses: ./.github/workflows/get_docs_changes.yml

run_qdrant_integration_test:
name: test
needs: get_docs_changes
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' && ${{ github.event.label.name == 'run-checks' }}
runs-on: ubuntu-latest

defaults:
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/test_weaviate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,9 @@ env:
RUNTIME__LOG_LEVEL: ERROR

jobs:
get_docs_changes:
name: docs changes
uses: ./.github/workflows/get_docs_changes.yml

run_weaviate_integration_test:
name: test
needs: get_docs_changes
if: needs.get_docs_changes.outputs.changes_outside_docs == 'true' && ${{ github.event.label.name == 'run-checks' }}
runs-on: ubuntu-latest

defaults:
Expand Down
2 changes: 1 addition & 1 deletion cognee/modules/graph/utils/retrieve_existing_edges.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,6 @@ async def retrieve_existing_edges(
existing_edges_map = {}

for edge in existing_edges:
existing_edges_map[edge[0] + edge[1] + edge[2]] = True
existing_edges_map[str(edge[0]) + str(edge[1]) + edge[2]] = True

return existing_edges_map
Loading

0 comments on commit cea1c7a

Please sign in to comment.