Feat: update missing docs #2211
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
| name: Build and Test | |
| env: | |
| MG_VERSION: "3.3.0" | |
| POETRY_VERSION: "1.8.2" | |
| VM_MAX_MAP_COUNT: "262144" | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| types: [opened, synchronize, reopened, review_requested, ready_for_review] | |
| workflow_dispatch: | |
| jobs: | |
| build_and_test_ubuntu: | |
| if: github.event.pull_request.draft == false | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.9", "3.10", "3.11", "3.12"] | |
| os: [ubuntu-24.04] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Set up pip and install packages | |
| run: | | |
| python -m pip install --upgrade pip setuptools wheel | |
| sudo -H pip install networkx numpy scipy | |
| sudo -H pip install poethepoet==0.18.1 | |
| - name: Setup poetry | |
| uses: abatilo/actions-poetry@v2.0.0 | |
| with: | |
| poetry-version: ${{ env.POETRY_VERSION }} | |
| - name: Install Memgraph | |
| run: | | |
| mkdir /home/runner/memgraph | |
| curl -L https://download.memgraph.com/memgraph/v${{env.MG_VERSION}}/${{ matrix.os }}/memgraph_${{env.MG_VERSION}}-1_amd64.deb --output /home/runner/memgraph/memgraph-community.deb | |
| sudo dpkg -i /home/runner/memgraph/memgraph-community.deb | |
| sudo systemctl stop memgraph | |
| sudo runuser -l memgraph -c '/usr/lib/memgraph/memgraph --bolt-port 7687 --bolt-session-inactivity-timeout=300 --data-directory="/var/lib/memgraph/data" --storage-properties-on-edges=true --storage-snapshot-interval-sec=0 --storage-wal-enabled=false --storage-snapshot-on-exit=false --telemetry-enabled=false --log-level=TRACE --also-log-to-stderr=true --log-file=/var/log/memgraph/memgraph-ubuntu-${{ matrix.python-version }}.log' & | |
| sleep 1 # Wait for Memgraph a bit. | |
| - name: Install Neo4j | |
| run: | | |
| # Using Neo4j 4.4.18 which has cgroupv2 compatibility fixes for Ubuntu 24.04 | |
| docker run --name neo4j-test -p 7474:7474 -p 7688:7687 -d -v $HOME/neo4j/data:/data -v $HOME/neo4j/logs:/logs -v $HOME/neo4j/import:/var/lib/neo4j/import -v $HOME/neo4j/plugins:/plugins --env NEO4J_AUTH=neo4j/test neo4j:4.4.18 | |
| - name: Wait for Neo4j to be ready | |
| run: | | |
| echo "Waiting for Neo4j to be ready..." | |
| for i in {1..60}; do | |
| # Use cypher-shell inside the container to verify Neo4j is accepting connections | |
| if docker exec neo4j-test cypher-shell -u neo4j -p test "RETURN 1" 2>/dev/null; then | |
| echo "Neo4j is ready and accepting queries!" | |
| break | |
| fi | |
| echo "Waiting for Neo4j... ($i/60)" | |
| sleep 2 | |
| done | |
| # Show Neo4j logs for debugging | |
| echo "=== Neo4j logs ===" | |
| docker logs neo4j-test 2>&1 | tail -30 || true | |
| - name: Install More Packages | |
| run: | | |
| ps aux | grep memgraph | |
| poetry install -E arrow -E dgl -E docker -E dot | |
| poe install-pyg-cpu | |
| poe install-dgl | |
| poe install-tfgnn | |
| - name: Run Tests | |
| run: | | |
| export TF_USE_LEGACY_KERAS="1" | |
| poetry run pytest -vvv -m "not slow and not ubuntu and not docker" | |
| - name: Use the Upload Artifact GitHub Action | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: assets-for-download | |
| path: /var/log/memgraph | |
| overwrite: true | |
| build_and_test_windows: | |
| if: false | |
| # if: github.event.pull_request.draft == false | |
| continue-on-error: true | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13"] | |
| os: [windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Set up pip and install packages | |
| run: | | |
| python -m pip install -U pip | |
| python -m pip install networkx numpy scipy | |
| python -m pip install poethepoet==0.18.1 | |
| - name: Set default WSL version to 2 | |
| run: wsl --set-default-version 2 | |
| - uses: Vampire/setup-wsl@v3 | |
| with: | |
| distribution: Ubuntu-24.04 | |
| - name: Update vm.max_map_count | |
| shell: wsl-bash {0} #root shell | |
| run: sysctl -w vm.max_map_count=${{ env.VM_MAX_MAP_COUNT }} | |
| - name: Download, install and run Memgraph under WSL | |
| shell: wsl-bash {0} # root shell | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install python3 python3-pip ipython3 | |
| pip3 install networkx numpy scipy | |
| mkdir /memgraph | |
| curl -L https://download.memgraph.com/memgraph/v${{env.MG_VERSION}}/ubuntu-24.04/memgraph_${{env.MG_VERSION}}-1_amd64.deb --output /memgraph/memgraph-community.deb | |
| systemctl mask memgraph | |
| dpkg -i /memgraph/memgraph-community.deb | |
| mkdir /mnt/c/memgraph | |
| runuser -l memgraph -c '/usr/lib/memgraph/memgraph --bolt-port 7687 --bolt-session-inactivity-timeout=300 --data-directory="/mnt/c/memgraph/data" --storage-properties-on-edges=true --storage-snapshot-interval-sec=0 --storage-wal-enabled=false --storage-recover-on-startup=false --storage-snapshot-on-exit=false --telemetry-enabled=false --log-level=TRACE --also-log-to-stderr=true --log-file=/mnt/c/memgraph/memgraph-windows-${{ matrix.python-version }}.log' & | |
| sleep 1 # Wait for Memgraph a bit. | |
| - name: Download, install and run Neo4j under WSL | |
| shell: wsl-bash {0} # root shell | |
| run: | | |
| curl -fsSL https://debian.neo4j.com/neotechnology.gpg.key | apt-key add - | |
| add-apt-repository "deb https://debian.neo4j.com stable 4.2" | |
| sudo apt-get -y install neo4j=1:4.2.1 | |
| neo4j-admin set-initial-password test | |
| mkdir -p /mnt/c/neo4j/${{ matrix.python-version }} | |
| sed -i 's/#dbms.connector.bolt.listen_address=:7687/dbms.connector.bolt.listen_address=:7688/g' /etc/neo4j/neo4j.conf | |
| sed -i 's/#dbms.connector.bolt.advertised_address=:7687/dbms.connector.bolt.advertised_address=:7688/g' /etc/neo4j/neo4j.conf | |
| sed -i 's/#dbms.default_listen_address=0.0.0.0/dbms.default_listen_address=0.0.0.0/g' /etc/neo4j/neo4j.conf | |
| sed -i 's/dbms.directories.logs=\/var\/log\/neo4j/dbms.directories.logs=\/mnt\/c\/neo4j\/${{ matrix.python-version }}/g' /etc/neo4j/neo4j.conf | |
| cp /etc/neo4j/neo4j.conf /mnt/c/neo4j/${{ matrix.python-version }}/neo4j.conf | |
| sudo service neo4j start | |
| sleep 10 # Wait for Neo4j a bit. | |
| - name: Setup poetry | |
| uses: abatilo/actions-poetry@v2.0.0 | |
| with: | |
| poetry-version: ${{ env.POETRY_VERSION }} | |
| - name: Test project | |
| run: | | |
| poetry install -E arrow -E dgl -E docker -E dot | |
| poe install-pyg-cpu | |
| poe install-dgl | |
| poe install-tfgnn | |
| export TF_USE_LEGACY_KERAS="1" | |
| poetry run pytest -vvv -m "not slow and not ubuntu and not docker" | |
| - name: Save Memgraph Logs | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: memgraph-log | |
| path: C:\memgraph | |
| overwrite: true | |
| - name: Save Neo4j Logs | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: neo4j-log | |
| path: C:\neo4j | |
| overwrite: true |