File: python-package.yml

package info (click to toggle)
kombu 5.6.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,968 kB
  • sloc: python: 28,815; makefile: 318
file content (126 lines) | stat: -rw-r--r-- 4,013 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
120
121
122
123
124
125
126
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Kombu

on:
  push:
    branches: [ 'main']
    paths:
        - '**.py'
        - '**.txt'
        - '.github/workflows/python-package.yml'
        - '**.toml'
        - "tox.ini"
  pull_request:
    branches: [ 'main' ]
    paths:
        - '**.py'
        - '**.txt'
        - '**.toml'
        - '.github/workflows/python-package.yml'
        - "tox.ini"
  workflow_dispatch:


permissions:
  contents: read # to fetch code (actions/checkout)

jobs:
  Unit:

    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14', '3.14t']
        os: ["blacksmith-4vcpu-ubuntu-2404"]


    steps:
    - name: Install apt packages
      if: startsWith(matrix.os, 'blacksmith-4vcpu-ubuntu')
      run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev
    - uses: actions/checkout@v6
    - name: Set up Python ${{ matrix.python-version }}
      uses: useblacksmith/setup-python@v6
      with:
        python-version: ${{ matrix.python-version }}
        allow-prereleases: true
        cache: 'pip'
        cache-dependency-path: '**/setup.py'

    - name: Install tox
      run: python -m pip install --upgrade pip wheel tox tox-docker
    - name: >
        Run tox for
        "${{ matrix.python-version }}-unit"
      timeout-minutes: 10
      run: >
          tox --verbose --verbose -e
          "${{ matrix.python-version }}-unit" -vv

    - name: Upload test results to Codecov
      if: ${{ !cancelled() }} # Run even if tests fail
      uses: codecov/test-results-action@v1
      with:
        token: ${{ secrets.CODECOV_TOKEN }}

    - uses: codecov/codecov-action@v5
      with:
        fail_ci_if_error: false # optional (default = false)
        token: ${{ secrets.CODECOV_TOKEN }}
        verbose: true # optional (default = false)

  Integration:
      needs:
      - Unit
      if: needs.Unit.result == 'success'

      runs-on: blacksmith-4vcpu-ubuntu-2404
      strategy:
          fail-fast: false
          matrix:
              python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14', '3.14t']
              toxenv: [
                  'py-amqp',
                  'py-redis',
                  'py-mongodb',
                  'py-kafka'
              ]
              experimental: [false]
              include:
                - python-version: pypy3.10
                  toxenv: 'py-amqp'
                  experimental: true
                - python-version: pypy3.10
                  toxenv: 'py-redis'
                  experimental: true
                - python-version: pypy3.10
                  toxenv: 'py-mongodb'
                  experimental: true
                # - python-version: pypy3.10
                #   toxenv: 'py-kafka'
                #   experimental: true

      steps:
          -   name: Install apt packages
              run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev

          -   uses: actions/checkout@v6
          -   name: Set up Python ${{ matrix.python-version }}
              uses: useblacksmith/setup-python@v6
              with:
                  python-version: ${{ matrix.python-version }}
                  allow-prereleases: true
                  cache: 'pip'
                  cache-dependency-path: '**/setup.py'
          -   name: Install tox
              run: python -m pip install --upgrade pip wheel tox tox-docker
          -   name: >
                  Run tox for
                  "${{ matrix.python-version }}-linux-integration-${{ matrix.toxenv }}"
              timeout-minutes: 30
              run: >
                  tox --verbose --verbose -e
                  "${{ matrix.python-version }}-linux-integration-${{ matrix.toxenv }}" -vv