fix: gracefully handle unsaved objects #9672
This file contains 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: Test | |
on: [push, pull_request] | |
jobs: | |
test: | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
python-version: | |
- '3.11' | |
- '3.12' | |
- '3.13' | |
name: Python ${{ matrix.python-version }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install apt dependencies | |
# gettext is needed as Django uses msgfmt to compile MO files | |
run: | | |
sudo apt update | |
sudo apt install gettext | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: astral-sh/setup-uv@v4 | |
with: | |
enable-cache: true | |
cache-dependency-glob: '' | |
cache-suffix: ${{ matrix.python-version }} | |
- name: Install pip dependencies | |
run: uv pip install --system -r requirements-dev.txt | |
- name: Compile MO files | |
run: ./scripts/generate-locales | |
- name: Collect static files | |
run: ./manage.py collectstatic | |
- name: Django checks | |
run: ./manage.py check | |
- name: Test with Django | |
run: | | |
echo "::add-matcher::.github/matchers/pytest.json" | |
pytest --junitxml=junit.xml weblate_web | |
echo "::remove-matcher owner=pytest::" | |
- name: Coverage | |
run: coverage xml | |
- uses: codecov/codecov-action@v5 | |
with: | |
token: ${{secrets.CODECOV_TOKEN}} | |
flags: unittests | |
name: Python ${{ matrix.python-version }} | |
- name: Upload test results to Codecov | |
if: ${{ !cancelled() }} | |
uses: codecov/test-results-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- name: DeepSource | |
continue-on-error: true | |
env: | |
DEEPSOURCE_DSN: ${{secrets.DEEPSOURCE_DSN}} | |
run: | | |
curl https://deepsource.io/cli | sh | |
./bin/deepsource report --analyzer test-coverage --key python --value-file ./coverage.xml |