-
Notifications
You must be signed in to change notification settings - Fork 13
119 lines (112 loc) · 3.68 KB
/
python-standard.yml
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: 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.9"
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"
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
with:
args: "--all-files"
conda-test:
strategy:
fail-fast: false
matrix:
include:
- python-version: "3.9"
deploy-on-success: true
- python-version: "3.10"
- python-version: "3.11"
experimental: true
- python-version: "3.12"
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.9"
deploy-on-success: true
- python-version: "3.10"
- python-version: "3.11"
experimental: true
- python-version: "3.12"
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
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')) }}
system-packages: ${{ inputs.pip-system-packages }} ${{ inputs.docs-system-packages }}