1010 - main
1111 - 3.0.x
1212
13- env :
14- ENV_FILE : environment.yml
13+ defaults :
14+ run :
15+ shell : bash -euox pipefail {0}
1516
1617permissions : {}
1718
18- # pre-commit run by https://pre-commit.ci/
1919jobs :
20- docstring_typing_manual_hooks :
21- name : Docstring validation, typing, and other manual pre-commit hooks
20+ doctest :
21+ name : Doctests
2222 runs-on : ubuntu-24.04
2323 permissions :
2424 contents : read
25- defaults :
26- run :
27- shell : bash -el {0}
2825
2926 concurrency :
3027 # https://github.blesdmm.dns-dynamic.netmunity/t/concurrecy-not-work-for-push/183068/7
31- group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-code-checks
28+ group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-doctests
3229 cancel-in-progress : true
3330
3431 steps :
@@ -37,51 +34,63 @@ jobs:
3734 with :
3835 fetch-depth : 0
3936
40- - name : Set up Conda
41- uses : ./.github/actions/setup-conda
42-
43- - name : Build Pandas
44- id : build
45- uses : ./.github/actions/build_pandas
37+ - name : Create virtual environment with Pixi
38+ uses : ./.github/actions/setup-pixi
39+ with :
40+ environment : " doctests"
4641
47- # The following checks are independent of each other and should still be run if one fails
48- - name : Extra installs
49- # https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#github-actions-azure-pipelines-travis-ci-and-gitlab-ci-cd
50- run : sudo apt-get update && sudo apt-get install -y libegl1 libopengl0
42+ - name : Build pandas
43+ run : |
44+ pixi run \
45+ --environment doctests \
46+ build-pandas \
47+ --editable \
48+ -Csetup-args="--werror"
5149
5250 - name : Run doctests
53- run : cd ci && ./code_checks.sh doctests
54- if : ${{ steps.build.outcome == 'success' && always() }}
51+ run : pixi run --environment doctests ci-doctests
5552
56- - name : Run checks on imported code
57- run : ci/code_checks.sh code
58- if : ${{ steps.build.outcome == 'success' && always() }}
53+ - name : Run scripts tests
54+ run : pixi run --environment doctests ci-scripts-tests
5955
60- - name : Use existing environment for type checking
61- run : |
62- echo $PATH >> $GITHUB_PATH
63- echo "PYTHONHOME=$PYTHONHOME" >> $GITHUB_ENV
64- echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV
65- if : ${{ steps.build.outcome == 'success' && always() }}
56+ type-checking :
57+ name : Type Checking
58+ runs-on : ubuntu-24.04
59+ permissions :
60+ contents : read
61+
62+ concurrency :
63+ # https://github.blesdmm.dns-dynamic.netmunity/t/concurrecy-not-work-for-push/183068/7
64+ group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-typechecking
65+ cancel-in-progress : true
6666
67- - name : Typing
68- uses : pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
67+ steps :
68+ - name : Checkout
69+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
6970 with :
70- extra_args : --verbose --hook-stage manual --all-files
71- if : ${{ steps.build.outcome == 'success' && always() }}
71+ fetch-depth : 0
7272
73- - name : Run docstring validation script tests
74- run : pytest scripts
75- if : ${{ steps.build.outcome == 'success' && always() }}
73+ - name : Create virtual environment with Pixi
74+ uses : ./.github/actions/setup-pixi
75+ with :
76+ environment : " typing"
77+
78+ - name : Build pandas
79+ run : |
80+ pixi run \
81+ --environment typing \
82+ build-pandas \
83+ --editable \
84+ -Csetup-args="--werror"
85+
86+ - name : Typing Checks
87+ run : pixi run --environment typing ci-typing
7688
7789 asv-benchmarks :
7890 name : ASV Benchmarks
7991 runs-on : ubuntu-24.04
8092 permissions :
8193 contents : read
82- defaults :
83- run :
84- shell : bash -euox pipefail {0}
8594
8695 concurrency :
8796 # https://github.blesdmm.dns-dynamic.netmunity/t/concurrecy-not-work-for-push/183068/7
@@ -124,19 +133,15 @@ jobs:
124133 steps :
125134 - name : Checkout
126135 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
127- with :
128- fetch-depth : 0
129136
130137 - name : Setup Python
131138 id : setup_python
132139 uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
133140 with :
134141 python-version : ' 3.11'
135142 cache : ' pip'
143+ pip-install : ' -r requirements-dev.txt'
136144 cache-dependency-path : ' requirements-dev.txt'
137145
138- - name : Install requirements-dev.txt
139- run : pip install -r requirements-dev.txt
140-
141146 - name : Check Pip Cache Hit
142147 run : echo ${{ steps.setup_python.outputs.cache-hit }}
0 commit comments