2424 steps :
2525 - run : echo ✓
2626 check :
27- needs : authorize
2827 name : Check
2928 runs-on : ubuntu-latest
3029 steps :
4948 key : pre-commit|${{ env.PYSHA }}|${{ hashFiles('.pre-commit-config.yaml') }}
5049 - run : pip install -U pre-commit tox
5150 - run : SKIP=pylint pre-commit run -a --show-diff-on-failure
52- test :
53- needs : authorize
51+ test-short :
52+ needs : check
5453 name : Test ${{ matrix.os }} with py${{ matrix.python }}
5554 runs-on : ${{ matrix.os }}
5655 strategy :
9190 pip install pre-commit .[tests]
9291 - if : contains(matrix.os, 'ubuntu') && matrix.python == '3.10'
9392 run : pre-commit run pylint -a -v --show-diff-on-failure
93+ - name : Run short tests
94+ timeout-minutes : 40
95+ run : pytest -k 'not heroku and not flyio'
96+ env :
97+ GITHUB_USERNAME : ${{ secrets.GH_USERNAME }}
98+ GITHUB_TOKEN : ${{ secrets.GH_TOKEN }}
99+ AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
100+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
101+ GITHUB_MATRIX_OS : ${{ matrix.os }}
102+ GITHUB_MATRIX_PYTHON : ${{ matrix.python }}
103+ BITBUCKET_USERNAME : ${{ secrets.BITBUCKET_USERNAME }}
104+ BITBUCKET_PASSWORD : ${{ secrets.BITBUCKET_PASSWORD }}
105+ - name : " Upload coverage to Codecov"
106+ uses : codecov/codecov-action@v3
107+ with :
108+ fail_ci_if_error : true
109+ token : ${{ secrets.CODECOV_TOKEN }}
110+ test-framework :
111+ needs : [authorize, test-short]
112+ name : Test ${{ matrix.os }} with py${{ matrix.python }}
113+ runs-on : ${{ matrix.os }}
114+ strategy :
115+ matrix :
116+ os : [ubuntu-latest, windows-latest, macos-latest]
117+ python : ["3.8", "3.9", "3.10"]
118+ exclude :
119+ # no HDF5 support installed for tables
120+ - os : windows-latest
121+ python : " 3.9"
122+ # catboost building problems
123+ - os : macos-latest
124+ python : " 3.8"
125+ fail-fast : false
126+ steps :
94127 - name : Run Heroku tests
95128 if : |
96129 contains(matrix.os, 'ubuntu') &&
@@ -113,26 +146,9 @@ jobs:
113146 - name : Start minikube
114147 if : contains(matrix.os, 'ubuntu') && matrix.python == '3.9'
115148 uses : medyagh/setup-minikube@master
116- - name : Run tests
117- timeout-minutes : 40
118- run : pytest -k 'not heroku and not flyio'
119- env :
120- GITHUB_USERNAME : ${{ secrets.GH_USERNAME }}
121- GITHUB_TOKEN : ${{ secrets.GH_TOKEN }}
122- AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
123- AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
124- GITHUB_MATRIX_OS : ${{ matrix.os }}
125- GITHUB_MATRIX_PYTHON : ${{ matrix.python }}
126- BITBUCKET_USERNAME : ${{ secrets.BITBUCKET_USERNAME }}
127- BITBUCKET_PASSWORD : ${{ secrets.BITBUCKET_PASSWORD }}
128- - name : " Upload coverage to Codecov"
129- uses : codecov/codecov-action@v3
130- with :
131- fail_ci_if_error : true
132- token : ${{ secrets.CODECOV_TOKEN }}
133149 deploy :
134150 name : PyPI Deploy
135- needs : [check, test]
151+ needs : [check, test-short, test-framework ]
136152 runs-on : ubuntu-latest
137153 steps :
138154 - uses : actions/checkout@v3
0 commit comments