-
Notifications
You must be signed in to change notification settings - Fork 8
133 lines (125 loc) · 4.24 KB
/
python-standard.yml
File metadata and controls
133 lines (125 loc) · 4.24 KB
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
name: PCDS Python Standard Tests
on:
workflow_call:
inputs:
package-name:
description: "The package name to be built"
required: true
type: string
python-version-docs:
required: false
type: string
default: "3.12"
description: "Python version for docs building"
testing-extras:
required: false
type: string
default: ""
description: "Extras for both conda / pip testing"
conda-testing-extras:
required: false
type: string
default: ""
description: "Extras only for conda testing"
pip-testing-extras:
required: false
type: string
default: ""
description: "Extras only for pip-based testing"
docs-build-extras:
required: false
type: string
default: ""
description: "Extras only for docs builds (installed via pip)"
conda-system-packages:
required: false
type: string
default: ""
description: "System packages only for conda testing"
pip-system-packages:
required: false
type: string
default: ""
description: "System packages only for pip-based testing"
docs-system-packages:
required: false
type: string
default: ""
description: "System packages only for docs, in addition to the pip ones"
docs-organization:
required: false
type: string
default: "pcdshub"
description: "Organization for documentation deployment"
use-setuptools-scm:
description: "Install and configure setuptools-scm prior to conda-build"
required: false
default: false
type: boolean
jobs:
pre-commit:
name: "pre-commit checks"
uses: ./.github/workflows/pre-commit.yml
secrets: inherit
with:
args: "--all-files"
conda-test:
strategy:
fail-fast: false
matrix:
include:
- python-version: "3.12"
deploy-on-success: true
# Disabling until we support rattler-build, boa/mambabuild does not work
# with py3.13
# - python-version: "3.13"
# experimental: true
name: "Conda"
uses: ./.github/workflows/python-conda-test.yml
secrets: inherit
with:
package-name: ${{ inputs.package-name }}
python-version: ${{ matrix.python-version }}
experimental: ${{ matrix.experimental || false }}
deploy-on-success: ${{ matrix.deploy-on-success || false }}
testing-extras: ${{ inputs.testing-extras }} ${{ inputs.conda-testing-extras }}
system-packages: ${{ inputs.conda-system-packages }}
use-setuptools-scm: ${{ inputs.use-setuptools-scm }}
pip-test:
strategy:
fail-fast: false
matrix:
include:
- python-version: "3.12"
deploy-on-success: true
- python-version: "3.13"
experimental: true
name: "Pip"
uses: ./.github/workflows/python-pip-test.yml
secrets: inherit
with:
package-name: ${{ inputs.package-name }}
python-version: ${{ matrix.python-version }}
experimental: ${{ matrix.experimental || false }}
deploy-on-success: ${{ matrix.deploy-on-success || false }}
system-packages: ${{ inputs.pip-system-packages }}
testing-extras: ${{ inputs.testing-extras }} ${{ inputs.pip-testing-extras }}
pip-docs:
name: "Documentation"
uses: ./.github/workflows/python-docs.yml
secrets: inherit
with:
package-name: ${{ inputs.package-name }}
python-version: ${{ inputs.python-version-docs }}
deploy: ${{ github.repository_owner == inputs.docs-organization && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags')) }}
docs-extras: ${{ inputs.docs-build-extras }}
system-packages: ${{ inputs.pip-system-packages }} ${{ inputs.docs-system-packages }}
coverage:
name: "Coverage"
uses: ./.github/workflows/python-coverage-test.yml
secrets: inherit
with:
package-name: ${{ inputs.package-name }}
python-version: ${{ inputs.python-version-docs }}
system-packages: ${{ inputs.pip-system-packages }} ${{ inputs.docs-system-packages }}
testing-extras: ${{ inputs.testing-extras }} ${{ inputs.pip-testing-extras }}