File: main.yml

package info (click to toggle)
python-pluggy 1.6.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 476 kB
  • sloc: python: 3,344; sh: 58; makefile: 6
file content (146 lines) | stat: -rw-r--r-- 3,695 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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
name: main

on:
  push:
    branches:
      - "*"
    tags:
      - "*"

  pull_request:
    branches:
      - main

jobs:
  build:
    runs-on: ${{ matrix.os }}

    strategy:
      fail-fast: false
      matrix:
        name: [
          "windows-py39",
          "windows-py313",
          "windows-pypy3",

          "ubuntu-py39-pytestmain",
          "ubuntu-py39",
          "ubuntu-py310",
          "ubuntu-py311",
          "ubuntu-py312",
          "ubuntu-py313",
          "ubuntu-pypy3",
          "ubuntu-benchmark",
        ]

        include:
          - name: "windows-py39"
            python: "3.9"
            os: windows-latest
            tox_env: "py39"
          - name: "windows-py313"
            python: "3.13"
            os: windows-latest
            tox_env: "py313"
          - name: "windows-pypy3"
            python: "pypy3.9"
            os: windows-latest
            tox_env: "pypy3"
          - name: "ubuntu-py39-pytestmain"
            python: "3.9"
            os: ubuntu-latest
            tox_env: "py39-pytestmain"
            use_coverage: true
          - name: "ubuntu-py39"
            python: "3.9"
            os: ubuntu-latest
            tox_env: "py39"
            use_coverage: true
          - name: "ubuntu-py310"
            python: "3.10"
            os: ubuntu-latest
            tox_env: "py310"
          - name: "ubuntu-py311"
            python: "3.11"
            os: ubuntu-latest
            tox_env: "py311"
            use_coverage: true
          - name: "ubuntu-py312"
            python: "3.12"
            os: ubuntu-latest
            tox_env: "py312"
            use_coverage: true
          - name: "ubuntu-py313"
            python: "3.13"
            os: ubuntu-latest
            tox_env: "py313"
            use_coverage: true
          - name: "ubuntu-pypy3"
            python: "pypy3.9"
            os: ubuntu-latest
            tox_env: "pypy3"
            use_coverage: true
          - name: "ubuntu-benchmark"
            python: "3.9"
            os: ubuntu-latest
            tox_env: "benchmark"

    steps:
    - uses: actions/checkout@v4
      with:
        fetch-depth: 0

    - name: Set up Python ${{ matrix.python }}
      uses: actions/setup-python@v5
      with:
        python-version: ${{ matrix.python }}
        allow-prereleases: true

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip setuptools
        python -m pip install tox coverage

    - name: Test without coverage
      if: "! matrix.use_coverage"
      run: "tox -e ${{ matrix.tox_env }}"

    - name: Test with coverage
      if: "matrix.use_coverage"
      run: "tox -e ${{ matrix.tox_env }}-coverage"

    - name: Upload coverage
      if: matrix.use_coverage && github.repository == 'pytest-dev/pluggy'
      uses: codecov/codecov-action@v5
      continue-on-error: true
      with:
        fail_ci_if_error: true
        files: ./coverage.xml
        verbose: true

  deploy:
    if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') && github.repository == 'pytest-dev/pluggy'
    runs-on: ubuntu-latest
    permissions:
      id-token: write
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - uses: actions/setup-python@v5
        with:
          python-version: "3.x"

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install --upgrade build

      - name: Build package
        run: python -m build --sdist --wheel --outdir dist/

      - name: Publish package
        uses: pypa/gh-action-pypi-publish@v1.12.4
        with:
          attestations: true