-
Notifications
You must be signed in to change notification settings - Fork 18
60 lines (50 loc) · 1.88 KB
/
Copy pathdocs_functionalities_tests.yml
File metadata and controls
60 lines (50 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
name: Docs Functionalities Tests
permissions:
contents: read
on:
schedule:
# Run every Sunday at 23:00 UTC (offset from indexability's 22:00 slot)
- cron: "0 23 * * 0"
workflow_dispatch:
inputs:
base_url:
description: "Base URL to test against (e.g. a Netlify deploy preview)"
required: false
default: "https://docs.weaviate.io"
env:
PYTHON_VERSION: "3.11"
jobs:
test-functionalities:
name: Test Functionalities
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up test environment
uses: ./.github/actions/setup-test-env
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install Playwright browser
run: uv run playwright install --with-deps chromium
- name: Record test start time
run: echo "TEST_START_TIME=$(date +%s)" >> $GITHUB_ENV
- name: Run functionalities tests
id: functionalities-tests
continue-on-error: true
env:
DOCS_BASE_URL: ${{ github.event.inputs.base_url || 'https://docs.weaviate.io' }}
# Tell tests/conftest.py to skip its Weaviate docker-compose startup —
# this Playwright-only suite doesn't need a local Weaviate instance.
DOCS_GITHUB_ENV: "true"
run: |
echo "Running Copy-page functionalities tests against ${DOCS_BASE_URL} ..."
uv run pytest -m "functionalities" -v --tb=short --junitxml=pytest-results.xml
- name: Handle test results
if: always()
uses: ./.github/actions/handle-test-results
with:
test-outcome: ${{ steps.functionalities-tests.outcome == 'success' && 'success' || 'failure' }}
test-type: 'Functionalities'
slack-bot-token: ${{ secrets.TESTING_CI_SLACK_BOT }}
test-results-xml: 'pytest-results.xml'