2424 steps :
2525 - run : echo ✓
2626 check :
27- needs : authorize
2827 name : Check
2928 runs-on : ubuntu-latest
3029 steps :
4746 key : pre-commit|${{ env.PYSHA }}|${{ hashFiles('.pre-commit-config.yaml') }}
4847 - run : pip install -U pre-commit tox
4948 - run : SKIP=pylint pre-commit run -a --show-diff-on-failure
50- test :
51- needs : authorize
49+ test-short :
50+ needs : check
5251 name : Test ${{ matrix.os }} with py${{ matrix.python }}
5352 runs-on : ${{ matrix.os }}
5453 strategy :
8988 pip install pre-commit .[tests]
9089 - if : matrix.os == 'ubuntu-latest' && matrix.python == '3.10'
9190 run : pre-commit run pylint -a -v --show-diff-on-failure
91+ - name : Run short tests
92+ timeout-minutes : 40
93+ run : pytest -k 'not heroku and not flyio'
94+ env :
95+ GITHUB_USERNAME : ${{ secrets.GH_USERNAME }}
96+ GITHUB_TOKEN : ${{ secrets.GH_TOKEN }}
97+ AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
98+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
99+ GITHUB_MATRIX_OS : ${{ matrix.os }}
100+ GITHUB_MATRIX_PYTHON : ${{ matrix.python }}
101+ BITBUCKET_USERNAME : ${{ secrets.BITBUCKET_USERNAME }}
102+ BITBUCKET_PASSWORD : ${{ secrets.BITBUCKET_PASSWORD }}
103+ - name : " Upload coverage to Codecov"
104+ uses : codecov/codecov-action@v3
105+ with :
106+ fail_ci_if_error : true
107+ token : ${{ secrets.CODECOV_TOKEN }}
108+ test-framework :
109+ needs : [authorize, test-short]
110+ name : Test ${{ matrix.os }} with py${{ matrix.python }}
111+ runs-on : ${{ matrix.os }}
112+ strategy :
113+ matrix :
114+ os : [ubuntu-latest, windows-latest, macos-latest]
115+ python : ["3.8", "3.9", "3.10"]
116+ exclude :
117+ # no HDF5 support installed for tables
118+ - os : windows-latest
119+ python : " 3.9"
120+ # catboost building problems
121+ - os : macos-latest
122+ python : " 3.8"
123+ fail-fast : false
92124 - name : Run Heroku tests
93125 if : |
94126 matrix.os == 'ubuntu-latest' &&
@@ -111,26 +143,9 @@ jobs:
111143 - name : Start minikube
112144 if : matrix.os == 'ubuntu-latest' && matrix.python == '3.9'
113145 uses : medyagh/setup-minikube@master
114- - name : Run tests
115- timeout-minutes : 40
116- run : pytest -k 'not heroku and not flyio'
117- env :
118- GITHUB_USERNAME : ${{ secrets.GH_USERNAME }}
119- GITHUB_TOKEN : ${{ secrets.GH_TOKEN }}
120- AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
121- AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
122- GITHUB_MATRIX_OS : ${{ matrix.os }}
123- GITHUB_MATRIX_PYTHON : ${{ matrix.python }}
124- BITBUCKET_USERNAME : ${{ secrets.BITBUCKET_USERNAME }}
125- BITBUCKET_PASSWORD : ${{ secrets.BITBUCKET_PASSWORD }}
126- - name : " Upload coverage to Codecov"
127- uses : codecov/codecov-action@v3
128- with :
129- fail_ci_if_error : true
130- token : ${{ secrets.CODECOV_TOKEN }}
131146 deploy :
132147 name : PyPI Deploy
133- needs : [check, test]
148+ needs : [check, test-short, test-framework ]
134149 runs-on : ubuntu-latest
135150 steps :
136151 - uses : actions/checkout@v3
0 commit comments