Files
django/.github/workflows/tests.yml
saurabh 26b0e2bb92 Fixed #36620 -- Fixed workflow to summarize coverage in PRs.
Follow-up to a89183e638, which was
reverted in e4c4a178aa because a change
to the workflow trigger resulted in the PR branch not being checked out.

We used this opportunity to reimplement the coverage tracing and coverage
commenting in a two-workflow pattern with more granular permissions.

To reduce duplicative workflows, we removed the existing python test workflow
on PRs, at least until we run more distinct configurations on GitHub actions. The
run with coverage tracing enabled is sufficient for now. The existing workflow still
runs on pushes to main. We can revisit when adding more test configurations.
2025-12-04 10:25:21 -05:00

64 lines
1.5 KiB
YAML

name: Tests
on:
pull_request:
paths-ignore:
- 'docs/**'
push:
branches:
- main
paths-ignore:
- 'docs/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
windows:
if: github.event_name == 'push'
runs-on: windows-latest
strategy:
matrix:
python-version:
- '3.14'
name: Windows, SQLite, Python ${{ matrix.python-version }}
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'tests/requirements/py3.txt'
- name: Install and upgrade packaging tools
run: python -m pip install --upgrade pip wheel
- run: python -m pip install -r tests/requirements/py3.txt -e .
- name: Run tests
run: python -Wall tests/runtests.py -v2
javascript-tests:
runs-on: ubuntu-latest
name: JavaScript tests
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up Node.js
uses: actions/setup-node@v5
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: '**/package.json'
- run: npm install
- run: npm test