-
Notifications
You must be signed in to change notification settings - Fork 0
82 lines (78 loc) · 2.55 KB
/
Copy pathcontinuous-integration.yml
File metadata and controls
82 lines (78 loc) · 2.55 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
name: Continuous Integration
on:
workflow_call:
inputs:
src-path:
type: string
default: "./src"
setup-path:
type: string
default: "."
repository:
type: string
default: ${{ github.repository }}
python-versions:
type: string
default: '["3.9", "3.10", "3.11", "3.12", "3.13"]'
fail-fast:
type: boolean
default: true
package: # The import package name, not the pip install name
type: string
required: true
requirements-file:
type: string
default: "requirements.txt"
test-requirements-file:
type: string
default: "test-requirements.txt"
runners: # If multiplatform tests aren't required, we can just do ubuntu
type: string
default: '["ubuntu-latest", "windows-latest", "macos-latest"]'
test-path:
type: string
default: "./tests"
mypy_runners:
type: string
default: '["ubuntu-latest"]'
jobs:
black:
uses: MAK-Relic-Tool/Workflows/.github/workflows/black.yml@main
with:
repository: ${{ inputs.repository }}
path: ${{ inputs.src-path }}
build-check:
uses: MAK-Relic-Tool/Workflows/.github/workflows/build-check.yml@main
with:
setup-path: ${{inputs.setup-path}}
repository: ${{ inputs.repository }}
python-versions: ${{ inputs.python-versions }}
fail-fast: ${{ inputs.fail-fast }}
mypy:
uses: MAK-Relic-Tool/Workflows/.github/workflows/mypy.yml@main
with:
setup-path: ${{inputs.setup-path}}
repository: ${{ inputs.repository }}
python-versions: ${{ inputs.python-versions }}
fail-fast: ${{ inputs.fail-fast }}
mypy-config: "pyproject.toml"
package: ${{ inputs.package }}
runners: ${{ inputs.mypy_runners || inputs.runners }}
pylint:
uses: MAK-Relic-Tool/Workflows/.github/workflows/pylint.yml@main
with:
path: ${{inputs.src-path}}
requirements-file: ${{inputs.requirements-file}}
repository: ${{ github.repository }}
python-versions: ${{inputs.python-versions}}
fail-fast: ${{ inputs.fail-fast }}
pytest-coverage:
uses: MAK-Relic-Tool/Workflows/.github/workflows/pytest-coverage.yml@main
with:
setup-path: ${{inputs.setup-path}}
requirements-file: ${{inputs.test-requirements-file}}
repository: ${{ github.repository }}
python-versions: ${{inputs.python-versions}}
fail-fast: ${{ inputs.fail-fast }}
runners: ${{ inputs.runners }}
test-path: ${{ inputs.test-path }}