Skip to content

Rewrite internal/composition/test_type_inference.py #649

Rewrite internal/composition/test_type_inference.py

Rewrite internal/composition/test_type_inference.py #649

Workflow file for this run

name: Run e2e tests - neptune-query
permissions:
checks: write
on:
schedule:
- cron: '0 8 * * *' # Run at 8:00 daily
workflow_dispatch:
inputs:
force_data_generation:
description: 'Force data generation (skip experiment existence check)'
required: false
default: false
type: boolean
push:
branches:
- main
- dev/.*
pull_request: # Don't run e2e tests on PRs that don't modify source code
paths:
- 'src/**'
- 'tests/e2e/**'
- 'dev_requirements.txt'
- 'pyproject.toml'
- '.github/workflows/tests-e2e.yml'
jobs:
test:
runs-on: tools-gha-runners
timeout-minutes: 30
strategy:
matrix:
include:
- env: "AZURE"
env_suffix: ""
test_markers: ""
- env: "GCP"
env_suffix: "_GCP"
test_markers: "files"
- env: "AWS"
env_suffix: "_AWS"
test_markers: "files"
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip &&
pip install -r dev_requirements.txt
- name: Run tests
env:
NEPTUNE_E2E_WORKSPACE: ${{ secrets.E2E_WORKSPACE }}
NEPTUNE_E2E_PROJECT: ${{ secrets[format('E2E_PROJECT{0}', matrix.env_suffix)] }}
NEPTUNE_E2E_API_TOKEN: ${{ secrets[format('E2E_API_TOKEN{0}', matrix.env_suffix)] }}
NEPTUNE_E2E_FORCE_DATA_GENERATION: ${{ inputs.force_data_generation || 'false' }}
TEST_MARKERS: ${{ matrix.test_markers }}
run: |
pytest --retries=3 --retry-delay=2 --junitxml="test-results/test-e2e.xml" ${TEST_MARKERS:+-m "$TEST_MARKERS"} tests/e2e
- name: Notify on failure
if: failure() && github.event_name == 'schedule'
uses: ./.github/actions/workflow-notify
with:
slack-webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
failure-message: "E2E tests failed"
- name: Report
uses: mikepenz/action-junit-report@v5
if: always()
with:
check_name: 'E2E tests report'
report_paths: "./test-results/test-e2e*.xml"
detailed_summary: true
verbose_summary: true
include_passed: true
include_time_in_summary: true
resolve_ignore_classname: true