name: Continuous Integration on: push: branches: [ master, ] paths: - '**.py' - 'pyproject.toml' pull_request: # The branches below must be a subset of the branches above branches: [ master, ] paths: - '**.py' - 'pyproject.toml' jobs: ci-job: runs-on: ubuntu-latest env: DJANGO_SETTINGS_MODULE: settings.ci DJANGO_MEDIA_ROOT: /tmp/wger-test strategy: matrix: # Note: removed 3.14 because lingua-language-detector has no wheels yet python-version: [ '3.10', '3.11', '3.12', '3.13' ] name: CI job (python ${{ matrix.python-version }}) steps: - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - name: Install uv uses: astral-sh/setup-uv@v7 with: enable-cache: true - name: Display Python version run: python --version - name: Install dependencies run: | uv sync --group dev mkdir /tmp/wger-test # Only run the tests with coverage for one version of python - name: Test the application with coverage if: matrix.python-version == 3.13 run: | uv run coverage run --source='.' ./manage.py test uv run coverage lcov - name: Test the application if: matrix.python-version != 3.13 run: | uv run ./manage.py test - name: Coveralls if: matrix.python-version == 3.13 uses: coverallsapp/github-action@v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} path-to-lcov: coverage.lcov