forked from wso2/agent-manager
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathamp-instrumentation-package-pr-checks.yaml
More file actions
129 lines (109 loc) · 3.24 KB
/
amp-instrumentation-package-pr-checks.yaml
File metadata and controls
129 lines (109 loc) · 3.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
name: AMP Instrumentation Package
on:
pull_request:
branches: ["main"]
paths:
- "libs/amp-instrumentation/**"
- ".github/workflows/amp-instrumentation-package-pr-checks.yaml"
jobs:
lint:
name: Lint
runs-on:
- codebuild-wso2_agent-manager-${{ github.run_id }}-${{ github.run_attempt }}
defaults:
run:
working-directory: libs/amp-instrumentation
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ruff
- name: Run ruff linter
run: ruff check .
- name: Run ruff formatter check
run: ruff format --check .
test:
name: Test
runs-on:
- codebuild-wso2_agent-manager-${{ github.run_id }}-${{ github.run_attempt }}
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
defaults:
run:
working-directory: libs/amp-instrumentation
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .
pip install pytest pytest-cov
- name: Run tests with coverage
run: |
pytest --cov=src --cov-report=html --cov-report=term
- name: Upload coverage reports
if: always()
uses: actions/upload-artifact@v4
with:
name: amp-instrumentation-coverage-py${{ matrix.python-version }}
path: libs/amp-instrumentation/htmlcov
retention-days: 7
type-check:
name: Type Check
runs-on:
- codebuild-wso2_agent-manager-${{ github.run_id }}-${{ github.run_attempt }}
defaults:
run:
working-directory: libs/amp-instrumentation
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .
pip install mypy
- name: Run mypy
run: mypy src --install-types --non-interactive
build:
name: Build
runs-on:
- codebuild-wso2_agent-manager-${{ github.run_id }}-${{ github.run_attempt }}
defaults:
run:
working-directory: libs/amp-instrumentation
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install build tools
run: |
python -m pip install --upgrade pip
pip install build
- name: Build package
run: python -m build
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: amp-instrumentation-dist
path: libs/amp-instrumentation/dist
retention-days: 7