diff --git a/.github/workflows/deltatest.yml b/.github/workflows/deltatest.yml deleted file mode 100644 index ad3c38dcc..000000000 --- a/.github/workflows/deltatest.yml +++ /dev/null @@ -1,135 +0,0 @@ -name: Delta Smart Tests - -on: - push: - branches: - - master - - '[0-9]+.[0-9]+' - pull_request: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - delta: - name: Delta – affected tests only - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v6 - with: - # Fetch full history so Delta can diff against the base branch - fetch-depth: 0 - - - name: Set up Python 3.13 - uses: actions/setup-python@v6 - with: - python-version: "3.13" - - # ── System libraries (same condition as tests-ubuntu.yml) ──────────── - - name: Install system libraries - run: | - sudo apt-get update - sudo apt-get install -y libxml2-dev libxslt-dev - - # ── Scrapy + all runtime deps (from pyproject.toml [project].dependencies) ── - - name: Install Scrapy and runtime dependencies - run: | - pip install -U pip - pip install -e . - - # ── Core test dependencies (from tox.ini [test-requirements]) ──────── - - name: Install test dependencies - run: | - pip install \ - "pytest>=8.4.1" \ - "pytest-cov>=7.0.0" \ - pytest-xdist \ - pytest-twisted>=1.14.3 \ - attrs \ - "coverage>=7.10.6" \ - httpx \ - "pexpect>=4.8.0" \ - pygments \ - "pyftpdlib>=2.0.1" \ - "sybil>=1.3.0" \ - testfixtures - - # ── Extra optional deps (mirrors tox.ini [testenv:extra-deps]) ─────── - # Included so Delta can map tests that import these packages. - - name: Install optional/extra test dependencies - run: | - pip install \ - Pillow \ - "Twisted[http2]" \ - boto3 \ - "brotli>=1.2.0" \ - google-cloud-storage \ - "httpx[http2,socks]" \ - ipython \ - robotexclusionrulesparser \ - uvloop \ - zstandard \ - pytest-asyncio - - # ── Delta CLI ───────────────────────────────────────────────────────── - - name: Install Delta - run: pip install deltatest-cli - - # Write config.toml so Delta connects to the remote mapping DB. - # IMPORTANT: Delta reads from ~/.delta/config.toml (Path.home()/'.delta'), - # NOT from the repo-local .delta/ directory. Writing to the wrong path - # causes Delta to fall back to local-init mode (4131 unmapped tests). - - name: Configure Delta Cloud - env: - DELTA_API_KEY: ${{ secrets.DELTA_API_KEY }} - DELTA_REPO_ID: ${{ secrets.DELTA_REPO_ID }} - run: | - mkdir -p ~/.delta - { - echo '[cloud]' - echo "api_key = \"${DELTA_API_KEY}\"" - echo 'api_url = "https://api.deltatest.dev"' - echo "repo_id = \"${DELTA_REPO_ID}\"" - echo 'branch = "master"' - echo 'test_dir = "tests"' - } > ~/.delta/config.toml - # Verify structure (values masked) - sed 's/= ".*"/= "***"/' ~/.delta/config.toml - - # ── Run only tests affected by this diff ───────────────────────────── - - name: Run Delta (affected tests only) - run: | - BASE=${{ github.event_name == 'pull_request' && github.event.pull_request.base.ref || 'master' }} - echo "Diffing against: origin/${BASE}" - delta run \ - --base-branch "origin/${BASE}" \ - -- \ - --cov-config=pyproject.toml \ - --cov=scrapy \ - --cov-report= \ - --cov-report=term-missing \ - --cov-report=xml \ - --junitxml=delta.junit.xml \ - -o junit_family=legacy \ - --durations=10 \ - scrapy tests \ - --doctest-modules - - # ── Push updated mapping back to Delta Cloud ────────────────────────── - - name: Push mapping to Delta Cloud - if: always() - run: delta push - - # ── Upload results ──────────────────────────────────────────────────── - - name: Upload coverage report - if: always() - uses: codecov/codecov-action@v5 - - - name: Upload test results - if: always() - uses: codecov/codecov-action@v5 - with: - report_type: test_results - files: delta.junit.xml