mirror of
https://github.com/microsoft/graphrag.git
synced 2026-01-14 00:57:23 +08:00
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
97 lines
2.7 KiB
YAML
97 lines
2.7 KiB
YAML
name: Python Integration Tests
|
|
on:
|
|
push:
|
|
branches:
|
|
- "**/main" # match branches like feature/main
|
|
- "main" # match the main branch
|
|
pull_request:
|
|
types:
|
|
- opened
|
|
- reopened
|
|
- synchronize
|
|
- ready_for_review
|
|
branches:
|
|
- "**/main"
|
|
- "main"
|
|
paths-ignore:
|
|
- "**/*.md"
|
|
- ".semversioner/**"
|
|
|
|
permissions:
|
|
contents: read
|
|
pull-requests: read
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
# only run the for the latest commit
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
python-ci:
|
|
# skip draft PRs
|
|
if: github.event.pull_request.draft == false
|
|
strategy:
|
|
matrix:
|
|
python-version: ["3.10"]
|
|
os: [ubuntu-latest, windows-latest]
|
|
fail-fast: false # continue running all jobs even if one fails
|
|
env:
|
|
DEBUG: 1
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
|
|
- uses: dorny/paths-filter@v3
|
|
id: changes
|
|
with:
|
|
filters: |
|
|
python:
|
|
- 'graphrag/**/*'
|
|
- 'uv.lock'
|
|
- 'pyproject.toml'
|
|
- '**/*.py'
|
|
- '**/*.toml'
|
|
- '**/*.ipynb'
|
|
- '.github/workflows/python*.yml'
|
|
- 'tests/integration/**/*'
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@v6
|
|
|
|
- name: Install dependencies
|
|
shell: bash
|
|
run: |
|
|
uv sync
|
|
uv pip install gensim
|
|
|
|
- name: Build
|
|
run: |
|
|
uv build
|
|
|
|
- name: Install and start Azurite
|
|
shell: bash
|
|
run: |
|
|
npm install -g azurite
|
|
azurite --silent --skipApiVersionCheck --location /tmp/azurite --debug /tmp/azurite-debug.log &
|
|
|
|
# For more information on installation/setup of Azure Cosmos DB Emulator
|
|
# https://learn.microsoft.com/en-us/azure/cosmos-db/how-to-develop-emulator?tabs=docker-linux%2Cpython&pivots=api-nosql
|
|
# Note: the emulator is only available on Windows runners. It can take longer than the default to initially startup so we increase the default timeout.
|
|
# If a job fails due to timeout, restarting the cicd job usually resolves the problem.
|
|
- name: Install Azure Cosmos DB Emulator
|
|
if: runner.os == 'Windows'
|
|
run: |
|
|
Write-Host "Launching Cosmos DB Emulator"
|
|
Import-Module "$env:ProgramFiles\Azure Cosmos DB Emulator\PSModules\Microsoft.Azure.CosmosDB.Emulator"
|
|
Start-CosmosDbEmulator -Timeout 500
|
|
|
|
- name: Integration Test
|
|
run: |
|
|
uv run poe test_integration
|