File: test.yml

package info (click to toggle)
django-recurrence 1.14-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,140 kB
  • sloc: python: 2,530; javascript: 2,502; makefile: 159
file content (65 lines) | stat: -rw-r--r-- 1,843 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
name: Test

on: [push, pull_request]

jobs:
  build:
    name: build (Python ${{ matrix.python-version }}, Django ${{ matrix.django-version }})
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      max-parallel: 5
      matrix:
        python-version: ['3.10', '3.11', '3.12', '3.13']
        django-version: ['4.2', '5.2', '6.0']
        include:
          # Tox configuration for QA environment
          - python-version: '3.13'
            django-version: 'qa'
          # Django main
          - python-version: '3.13'
            django-version: 'main'
            experimental: true
        exclude:
          - python-version: '3.13'
            django-version: '4.2'
          - python-version: '3.10'
            django-version: '6.0'
          - python-version: '3.11'
            django-version: '6.0'

    steps:
    - uses: actions/checkout@v3
    - name: Set up PDM for Python ${{ matrix.python-version }}
      uses: pdm-project/setup-pdm@v4
      with:
        python-version: ${{ matrix.python-version }}
    - name: Install dependencies
      run: |
        pdm sync -d -G dev

    - name: Run pytest
      run: |
        pdm run -v pytest --cov-report term-missing --cov-report xml --cov=docopt
      env:
        DJANGO: ${{ matrix.django-version }}

    - name: Upload coverage
      uses: codecov/codecov-action@v2
      with:
        name: Python ${{ matrix.python-version }}

    - name: Build wheels and sdist
      run: |
        pdm build

    - name: Save artifacts
      uses: actions/upload-artifact@v4
      with:
        # These are pure-python, so we don't need to worry about platform
        name: wheels-python-${{ matrix.python-version }}-django-${{ matrix.django-version }}
        # name: Python ${{ matrix.python-version }}
        path: |
          dist/*.whl
          dist/*.tar.gz