File: pythonpackage.yml

package info (click to toggle)
breezy 3.3.17-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 40,768 kB
  • sloc: python: 279,477; ansic: 1,093; makefile: 367; sh: 284; lisp: 107
file content (95 lines) | stat: -rw-r--r-- 3,347 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
---
name: Python package

"on": [push, pull_request]

env:
  PYO3_USE_ABI3_FORWARD_COMPATIBILITY: "1"

jobs:
  build:

    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest]
        python-version: ["3.10", "3.11", '3.12', '3.13', '3.14']
# See https://github.com/actions/toolkit/issues/399
#        include:
#          - os: ubuntu-latest
#            python-version: pypy3
#            experimental: true
      fail-fast: false

    steps:
      - uses: actions/checkout@v4
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install dependencies (apt)
        run: |
          sudo apt install quilt
        if: "matrix.os == 'ubuntu-latest'"
      - name: Install dependencies (brew)
        run: |
          brew install quilt
        if: "matrix.os == 'macos-latest'"
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          python -m pip install -U pip "setuptools>=60" setuptools-gettext cython setuptools-rust
          python -m pip install -U pip coverage codecov cython testscenarios dulwich typing-extensions
          # paramiko (via pynacl) is broken on python 3.14
          if [[ "${{ matrix.python-version }}" == "3.14"* ]]; then
            python -m pip install ".[dev,doc,launchpad,git,fastimport]";
          else
            python -m pip install ".[dev,paramiko,doc,launchpad,git,fastimport]";
          fi
      - name: Install dependencies (linux/pip)
        run: |
          sudo apt install libgpgme-dev libgpg-error-dev
          mkdir -p "$HOME/.local/bin"
          cp .github/gpgme-config "$HOME/.local/bin/gpgme-config"
          cp .github/gpg-error-config "$HOME/.local/bin/gpg-error-config"
          echo "$HOME/.local/bin" >> $GITHUB_PATH
          pip install pyinotify
          pip install ".[workspace,pgp]"
        if: "matrix.os == 'ubuntu-latest'"
      - name: Build docs
        run: |
          make docs PYTHON=python
      - name: Build extensions
        run: |
          make extensions PYTHON=python
        if: "matrix.python-version != 'pypy3'"
      - name: Test suite run (Linux)
        run: |
          ./brz selftest
        env:
          PYTHONHASHSEED: random
          BRZ_PLUGIN_PATH: -site:-user
          PYTHONPATH: .
        if: "matrix.os == 'ubuntu-latest'"
      - name: Test suite run (Mac OS)
        run: |
          ./brz selftest --subunit2 | subunit-filter --fixup-expected-failures=xfail.macos -s --passthrough | subunit2pyunit
        env:
          PYTHONHASHSEED: random
          BRZ_PLUGIN_PATH: -site:-user
          PYTHONPATH: .
        if: "matrix.os == 'macos-latest'"
      - name: Test suite run (Windows)
        run: |
          python -m breezy selftest --subunit2 | subunit-filter --fixup-expected-failures=xfail.windows -s --passthrough | subunit2pyunit
        env:
          PYTHONHASHSEED: random
          BRZ_PLUGIN_PATH: -site:-user
          PYTHONPATH: .
        shell: bash
        if: "matrix.os == 'windows-latest'"
      - name: Run mypy
        run: |
          python -m pip install mypy types-PyYAML types-paramiko types-setuptools typing-extensions
          python -m mypy breezy
        if: "matrix.python-version != 'pypy3'"