File: test.yml

package info (click to toggle)
django-q 1.9.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,268 kB
  • sloc: python: 5,686; makefile: 181; sh: 30
file content (119 lines) | stat: -rw-r--r-- 3,424 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
name: tests
on: 
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
        - uses: actions/checkout@v3
        - name: Lint with ruff
          run: |
            pipx install ruff==0.4.10
            ruff format . --check && ruff check .
        - name: Check twine
          run: |
            python -m pip install twine poetry rstcheck
            poetry build
            rstcheck README.rst
            twine check dist/*

  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version:
        - "3.9"
        - "3.10"
        - "3.11"
        - "3.12"
        django:
        - "4.2"
        - "5.0"
        - "5.1"
        - "5.2"
        - "6.0"
        exclude:
          # django 5.2 does not support 3.9
          - python-version: "3.9"
            django: "5.2"
          # django 5.1 does not support 3.9
          - python-version: "3.9"
            django: "5.1"
          # django 5.0 does not support 3.9
          - python-version: "3.9"
            django: "5.0"
          # django 4.2 does not support 3.13
          - python-version: "3.13"
            django: "4.2"
          # django 6.0 does not support earlier than 3.12
          - python-version: "3.9"
            django: "6.0"
          - python-version: "3.10"
            django: "6.0"
          - python-version: "3.11"
            django: "6.0"

    services:
      mongodb:
        image: mongo
        ports:
          - 27017:27017
      postgres:
        image: postgres
        env:
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: postgres
          POSTGRES_DB: postgres
        ports:
          - 5432:5432
        # needed because the postgres container does not provide a health check
        options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
      redis:
        image: redis
        ports:
          - 6379:6379
        options: --entrypoint redis-server
    steps:
        - uses: actions/checkout@v3
        - name: Set up Python ${{ matrix.python-version }}
          uses: actions/setup-python@v4
          with:
            python-version: ${{ matrix.python-version }}
        - name: Install dependencies with Django ${{ matrix.django }}
          run: |
            python -m pip install --upgrade pip
            pip install poetry==1.8.5
            poetry add "django~=${{ matrix.django }}a1" --python=${{ matrix.python-version }}
            poetry install -E testing
        - name: Run Tests
          run: |
            poetry run pytest --cov=./django_q --cov-report=xml
          env:
            MONGO_HOST: "127.0.0.1"
            REDIS_HOST: "127.0.0.1"
        - name: Upload to coveralls
          run: |
            python -m pip install coveralls
            coveralls --service=github
          env:
            GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
            COVERALLS_FLAG_NAME: python-${{ matrix.python-version }}-django-${{ matrix.django }}
            COVERALLS_PARALLEL: true

  finish:
    needs: test
    runs-on: ubuntu-latest
    container: python:3.11-bookworm
    steps:
      - name: Upload to coveralls
        run: |
          python -m pip install --upgrade pip
          python -m pip install coveralls
          coveralls --service=github --finish
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}