Update locator_store.py #203
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: CI | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches: [ main, master ] | |
| pull_request: | |
| branches: [ main, master ] | |
| schedule: | |
| - cron: '0 2 * * *' # Run nightly at 2 AM UTC | |
| workflow_dispatch: | |
| jobs: | |
| smoke-test: | |
| if: github.event_name != 'schedule' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 25 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.14' | |
| cache: 'pip' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -r requirements.txt | |
| - name: Run smoke tests (unit + api, excluding ai generated) | |
| run: | | |
| python -m pytest -m "unit or api" --tb=short | |
| - name: Run Robot Framework smoke tests | |
| run: | | |
| mkdir -p temps/robot_smoke | |
| python -m robot --outputdir temps/robot_smoke robot_demo/calculator/ | |
| - name: Upload smoke artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: smoke-results-${{ github.run_id }}-${{ github.run_attempt }} | |
| path: | | |
| temps/allure-results/ | |
| temps/robot_smoke/ | |
| if-no-files-found: warn | |
| retention-days: 14 | |
| regression-test: | |
| if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.14' | |
| cache: 'pip' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -r requirements.txt | |
| - name: Cache Playwright browsers | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: playwright-${{ runner.os }}-${{ hashFiles('requirements.txt') }} | |
| - name: Install Playwright browsers | |
| run: | | |
| python -m playwright install --with-deps | |
| - name: Run all pytest tests (excluding ai generated) | |
| run: | | |
| python -m pytest -m "not ai" --tb=short --maxfail=5 | |
| env: | |
| PW_HEADLESS: 1 | |
| - name: Run all Robot Framework tests | |
| run: | | |
| mkdir -p temps | |
| python -m robot --outputdir temps robot_demo/ | |
| env: | |
| PW_HEADLESS: 1 | |
| - name: Install Allure CLI | |
| run: | | |
| curl -fsSL -o allure.tgz https://github.com/allure-framework/allure2/releases/download/2.27.0/allure-2.27.0.tgz | |
| tar -zxf allure.tgz | |
| sudo mv allure-2.27.0 /opt/allure | |
| sudo ln -sf /opt/allure/bin/allure /usr/bin/allure | |
| - name: Generate Allure report | |
| if: always() | |
| run: | | |
| allure generate temps/allure-results -o allure-report --clean | |
| continue-on-error: true | |
| - name: Upload test results | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: regression-results-${{ github.run_id }}-${{ github.run_attempt }} | |
| path: | | |
| temps/allure-results/ | |
| allure-report/ | |
| temps/log.html | |
| temps/report.html | |
| temps/output.xml | |
| if-no-files-found: warn | |
| retention-days: 21 |