##// END OF EJS Templates
try to install only binaries
Matthias Bussonnier -
Show More
@@ -1,39 +1,39
1 1 # This workflow will install Python dependencies, run tests and lint with a variety of Python versions
2 2 # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
3 3
4 4 name: Python package
5 5
6 6 permissions:
7 7 contents: read
8 8
9 9 on:
10 10 push:
11 11 branches: [ main, 7.x ]
12 12 pull_request:
13 13 branches: [ main, 7.x ]
14 14
15 15 jobs:
16 16 formatting:
17 17
18 18 runs-on: ubuntu-latest
19 19 timeout-minutes: 5
20 20 steps:
21 21 - uses: actions/checkout@v3
22 22 with:
23 23 fetch-depth: 0
24 24 - name: Set up Python
25 25 uses: actions/setup-python@v4
26 26 with:
27 27 python-version: 3.x
28 28 - name: Install dependencies
29 29 run: |
30 30 python -m pip install --upgrade pip
31 pip install darker==1.5.1 black==22.10.0
31 pip install --only-binary ':all:' darker==1.5.1 black==22.10.0
32 32 - name: Lint with darker
33 33 run: |
34 34 darker -r 60625f241f298b5039cb2debc365db38aa7bb522 --check --diff . || (
35 35 echo "Changes need auto-formatting. Run:"
36 36 echo " darker -r 60625f241f298b5039cb2debc365db38aa7bb522"
37 37 echo "then commit and push changes to fix."
38 38 exit 1
39 39 )
@@ -1,89 +1,89
1 1 name: Run tests
2 2
3 3 on:
4 4 push:
5 5 branches:
6 6 - main
7 7 - '*.x'
8 8 pull_request:
9 9 # Run weekly on Monday at 1:23 UTC
10 10 schedule:
11 11 - cron: '23 1 * * 1'
12 12 workflow_dispatch:
13 13
14 14
15 15 jobs:
16 16 test:
17 17 runs-on: ${{ matrix.os }}
18 18 strategy:
19 19 fail-fast: false
20 20 matrix:
21 21 os: [ubuntu-latest, windows-latest]
22 22 python-version: ["3.8", "3.9", "3.10", "3.11"]
23 23 deps: [test_extra]
24 24 # Test all on ubuntu, test ends on macos
25 25 include:
26 26 - os: macos-latest
27 27 python-version: "3.8"
28 28 deps: test_extra
29 29 - os: macos-latest
30 30 python-version: "3.11"
31 31 deps: test_extra
32 32 # Tests minimal dependencies set
33 33 - os: ubuntu-latest
34 34 python-version: "3.11"
35 35 deps: test
36 36 # Tests latest development Python version
37 37 - os: ubuntu-latest
38 38 python-version: "3.12-dev"
39 39 deps: test
40 40 # Installing optional dependencies stuff takes ages on PyPy
41 41 - os: ubuntu-latest
42 42 python-version: "pypy-3.8"
43 43 deps: test
44 44 - os: windows-latest
45 45 python-version: "pypy-3.8"
46 46 deps: test
47 47 - os: macos-latest
48 48 python-version: "pypy-3.8"
49 49 deps: test
50 50
51 51 steps:
52 52 - uses: actions/checkout@v3
53 53 - name: Set up Python ${{ matrix.python-version }}
54 54 uses: actions/setup-python@v4
55 55 with:
56 56 python-version: ${{ matrix.python-version }}
57 57 cache: pip
58 58 - name: Install latex
59 59 if: runner.os == 'Linux' && matrix.deps == 'test_extra'
60 60 run: echo "disable latex for now, issues in mirros" #sudo apt-get -yq -o Acquire::Retries=3 --no-install-suggests --no-install-recommends install texlive dvipng
61 61 - name: Install and update Python dependencies
62 62 run: |
63 python -m pip install --upgrade pip setuptools wheel build
64 python -m pip install --upgrade -e .[${{ matrix.deps }}]
65 python -m pip install --upgrade check-manifest pytest-cov pytest-json-report
63 python -m pip install --only-binary ':all:' --upgrade pip setuptools wheel build
64 python -m pip install --only-binary ':all:' --no-binary curio --upgrade -e .[${{ matrix.deps }}]
65 python -m pip install --only-binary ':all:' --upgrade check-manifest pytest-cov pytest-json-report
66 66 - name: Try building with Python build
67 67 if: runner.os != 'Windows' # setup.py does not support sdist on Windows
68 68 run: |
69 69 python -m build
70 70 shasum -a 256 dist/*
71 71 - name: Check manifest
72 72 if: runner.os != 'Windows' # setup.py does not support sdist on Windows
73 73 run: check-manifest
74 74 - name: pytest
75 75 env:
76 76 COLUMNS: 120
77 77 run: |
78 78 pytest --color=yes -raXxs ${{ startsWith(matrix.python-version, 'pypy') && ' ' || '--cov --cov-report=xml' }} --json-report --json-report-file=./report-${{ matrix.python-version }}-${{runner.os}}.json
79 79 - uses: actions/upload-artifact@v3
80 80 with:
81 81 name: upload pytest timing reports as json
82 82 path: |
83 83 ./report-*.json
84 84
85 85 - name: Upload coverage to Codecov
86 86 uses: codecov/codecov-action@v3
87 87 with:
88 88 name: Test
89 89 files: /home/runner/work/ipython/ipython/coverage.xml
General Comments 0
You need to be logged in to leave comments. Login now