-
-
Notifications
You must be signed in to change notification settings - Fork 20.4k
147 lines (119 loc) · 4.26 KB
/
Copy pathcode-checks.yml
File metadata and controls
147 lines (119 loc) · 4.26 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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
name: Code Checks
on:
push:
branches:
- main
- 3.0.x
pull_request:
branches:
- main
- 3.0.x
env:
ENV_FILE: environment.yml
permissions: {}
# pre-commit run by https://pre-commit.ci/
jobs:
docstring_typing_manual_hooks:
name: Docstring validation, typing, and other manual pre-commit hooks
runs-on: ubuntu-24.04
permissions:
contents: read
defaults:
run:
shell: bash -el {0}
concurrency:
# https://github.community/t/concurrecy-not-work-for-push/183068/7
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-code-checks
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
- name: Set up Conda
uses: ./.github/actions/setup-conda
- name: Build Pandas
id: build
uses: ./.github/actions/build_pandas
# The following checks are independent of each other and should still be run if one fails
- name: Extra installs
# https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#github-actions-azure-pipelines-travis-ci-and-gitlab-ci-cd
run: sudo apt-get update && sudo apt-get install -y libegl1 libopengl0
- name: Run doctests
run: cd ci && ./code_checks.sh doctests
if: ${{ steps.build.outcome == 'success' && always() }}
- name: Check for no warnings when building single-page docs
run: ci/code_checks.sh single-docs
if: ${{ steps.build.outcome == 'success' && always() }}
- name: Run checks on imported code
run: ci/code_checks.sh code
if: ${{ steps.build.outcome == 'success' && always() }}
- name: Run check of documentation notebooks
run: ci/code_checks.sh notebooks
if: ${{ steps.build.outcome == 'success' && always() }}
- name: Use existing environment for type checking
run: |
echo $PATH >> $GITHUB_PATH
echo "PYTHONHOME=$PYTHONHOME" >> $GITHUB_ENV
echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV
if: ${{ steps.build.outcome == 'success' && always() }}
- name: Typing
uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
with:
extra_args: --verbose --hook-stage manual --all-files
if: ${{ steps.build.outcome == 'success' && always() }}
- name: Run docstring validation script tests
run: pytest scripts
if: ${{ steps.build.outcome == 'success' && always() }}
asv-benchmarks:
name: ASV Benchmarks
runs-on: ubuntu-24.04
permissions:
contents: read
defaults:
run:
shell: bash -el {0}
concurrency:
# https://github.community/t/concurrecy-not-work-for-push/183068/7
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-asv-benchmarks
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
- name: Set up Conda
uses: ./.github/actions/setup-conda
- name: Build Pandas
id: build
uses: ./.github/actions/build_pandas
- name: Run ASV benchmarks
run: |
cd asv_bench
asv machine --yes
asv run --quick --dry-run --durations=30 --python=same --show-stderr
requirements-dev-text-installable:
name: Test install requirements-dev.txt
runs-on: ubuntu-24.04
permissions:
contents: read
concurrency:
# https://github.community/t/concurrecy-not-work-for-push/183068/7
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-requirements-dev-text-installable
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
- name: Setup Python
id: setup_python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: '3.11'
cache: 'pip'
cache-dependency-path: 'requirements-dev.txt'
- name: Install requirements-dev.txt
run: pip install -r requirements-dev.txt
- name: Check Pip Cache Hit
run: echo ${{ steps.setup_python.outputs.cache-hit }}