##// END OF EJS Templates
Disable scheduled CI runs on forks
Ian Thomas -
Show More
@@ -1,69 +1,71 b''
1 1 name: Run Downstream tests
2 2
3 3 on:
4 4 push:
5 5 pull_request:
6 6 # Run weekly on Monday at 1:23 UTC
7 7 schedule:
8 8 - cron: '23 1 * * 1'
9 9 workflow_dispatch:
10 10
11 11 permissions:
12 12 contents: read
13 13
14 14 jobs:
15 15 test:
16 16 runs-on: ${{ matrix.os }}
17 # Disable scheduled CI runs on forks
18 if: github.event_name != 'schedule' || github.repository_owner == 'ipython'
17 19 strategy:
18 20 matrix:
19 21 os: [ubuntu-latest]
20 22 python-version: ["3.10"]
21 23 include:
22 24 - os: macos-latest
23 25 python-version: "3.10"
24 26
25 27 steps:
26 28 - uses: actions/checkout@v3
27 29 - name: Set up Python ${{ matrix.python-version }}
28 30 uses: actions/setup-python@v4
29 31 with:
30 32 python-version: ${{ matrix.python-version }}
31 33 - name: Update Python installer
32 34 run: |
33 35 python -m pip install --upgrade pip setuptools wheel
34 36 - name: Install ipykernel
35 37 run: |
36 38 cd ..
37 39 git clone https://github.com/ipython/ipykernel
38 40 cd ipykernel
39 41 pip install -e .[test]
40 42 cd ..
41 43 - name: Install and update Python dependencies
42 44 run: |
43 45 python -m pip install --upgrade -e file://$PWD#egg=ipython[test]
44 46 # we must install IPython after ipykernel to get the right versions.
45 47 python -m pip install --upgrade --upgrade-strategy eager flaky ipyparallel
46 48 python -m pip install --upgrade 'pytest<7' 'pytest_asyncio<0.21'
47 49 - name: pytest ipykernel
48 50 env:
49 51 COLUMNS: 120
50 52 run: |
51 53 cd ../ipykernel
52 54 pytest
53 55 - name: Install sagemath-repl
54 56 run: |
55 57 cd ..
56 58 git clone --depth 1 https://github.com/sagemath/sage
57 59 cd sage
58 60 # We cloned it for the tests, but for simplicity we install the
59 61 # wheels from PyPI.
60 62 # (Avoid 10.3b6 because of https://github.com/sagemath/sage/pull/37178)
61 63 pip install --pre "sagemath-repl<10.3b6" "sagemath-environment<10.3b6"
62 64 # Install optionals that make more tests pass
63 65 pip install sagemath-categories pillow
64 66 cd ..
65 67 - name: Test sagemath-repl
66 68 run: |
67 69 cd ../sage/
68 70 # From https://github.com/sagemath/sage/blob/develop/pkgs/sagemath-repl/tox.ini
69 71 sage-runtests -p --environment=sage.all__sagemath_repl --baseline-stats-path=pkgs/sagemath-repl/known-test-failures.json --initial --optional=sage src/sage/repl src/sage/doctest src/sage/misc/sage_input.py src/sage/misc/sage_eval.py
@@ -1,34 +1,34 b''
1 1 name: Nightly Wheel builder
2 2 on:
3 3 workflow_dispatch:
4 4 schedule:
5 5 # this cron is ran every Sunday at midnight UTC
6 6 - cron: '0 0 * * 0'
7 7
8 8 jobs:
9 9 upload_anaconda:
10 10 name: Upload to Anaconda
11 11 runs-on: ubuntu-latest
12 # The artifacts cannot be uploaded on PRs
13 if: github.event_name != 'pull_request'
12 # The artifacts cannot be uploaded on PRs, also disable scheduled CI runs on forks
13 if: github.event_name != 'pull_request' && (github.event_name != 'schedule' || github.repository_owner == 'ipython')
14 14
15 15 steps:
16 16 - uses: actions/checkout@v3
17 17 - name: Set up Python
18 18 uses: actions/setup-python@v4
19 19 with:
20 20 python-version: "3.10"
21 21 cache: pip
22 22 cache-dependency-path: |
23 23 pyproject.toml
24 24 - name: Try building with Python build
25 25 if: runner.os != 'Windows' # setup.py does not support sdist on Windows
26 26 run: |
27 27 python -m pip install build
28 28 python -m build
29 29
30 30 - name: Upload wheel
31 31 uses: scientific-python/upload-nightly-action@main
32 32 with:
33 33 artifacts_path: dist
34 34 anaconda_nightly_upload_token: ${{secrets.UPLOAD_TOKEN}}
@@ -1,98 +1,100 b''
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 # Disable scheduled CI runs on forks
19 if: github.event_name != 'schedule' || github.repository_owner == 'ipython'
18 20 strategy:
19 21 fail-fast: false
20 22 matrix:
21 23 os: [ubuntu-latest, windows-latest]
22 24 python-version: ["3.10", "3.11", "3.12"]
23 25 deps: [test_extra]
24 26 # Test all on ubuntu, test ends on macos
25 27 include:
26 28 - os: macos-latest
27 29 python-version: "3.10"
28 30 deps: test_extra
29 31 - os: macos-latest
30 32 python-version: "3.11"
31 33 deps: test_extra
32 34 # Tests minimal dependencies set
33 35 - os: ubuntu-latest
34 36 python-version: "3.11"
35 37 deps: test
36 38 # Tests latest development Python version
37 39 - os: ubuntu-latest
38 40 python-version: "3.13-dev"
39 41 deps: test
40 42 # Installing optional dependencies stuff takes ages on PyPy
41 43 - os: ubuntu-latest
42 44 python-version: "pypy-3.10"
43 45 deps: test
44 46 - os: windows-latest
45 47 python-version: "pypy-3.10"
46 48 deps: test
47 49 - os: macos-latest
48 50 python-version: "pypy-3.10"
49 51 deps: test
50 52
51 53 steps:
52 54 - uses: actions/checkout@v3
53 55 - name: Set up Python ${{ matrix.python-version }}
54 56 uses: actions/setup-python@v4
55 57 with:
56 58 python-version: ${{ matrix.python-version }}
57 59 cache: pip
58 60 cache-dependency-path: |
59 61 pyproject.toml
60 62 - name: Install latex
61 63 if: runner.os == 'Linux' && matrix.deps == 'test_extra'
62 64 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
63 65 - name: Install and update Python dependencies (binary only)
64 66 if: ${{ ! contains( matrix.python-version, 'dev' ) }}
65 67 run: |
66 68 python -m pip install --only-binary ':all:' --upgrade pip setuptools wheel build
67 69 python -m pip install --only-binary ':all:' --no-binary curio --upgrade -e .[${{ matrix.deps }}]
68 70 python -m pip install --only-binary ':all:' --upgrade check-manifest pytest-cov pytest-json-report 'pytest<8'
69 71 - name: Install and update Python dependencies (dev?)
70 72 if: ${{ contains( matrix.python-version, 'dev' ) }}
71 73 run: |
72 74 python -m pip install --pre --upgrade pip setuptools wheel build
73 75 python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple --no-binary curio --upgrade -e .[${{ matrix.deps }}]
74 76 python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple --upgrade check-manifest pytest-cov pytest-json-report
75 77 - name: Try building with Python build
76 78 if: runner.os != 'Windows' # setup.py does not support sdist on Windows
77 79 run: |
78 80 python -m build
79 81 shasum -a 256 dist/*
80 82 - name: Check manifest
81 83 if: runner.os != 'Windows' # setup.py does not support sdist on Windows
82 84 run: check-manifest
83 85 - name: pytest
84 86 env:
85 87 COLUMNS: 120
86 88 run: |
87 89 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 --maxfail=15
88 90 - uses: actions/upload-artifact@v3
89 91 with:
90 92 name: upload pytest timing reports as json
91 93 path: |
92 94 ./report-*.json
93 95
94 96 - name: Upload coverage to Codecov
95 97 uses: codecov/codecov-action@v3
96 98 with:
97 99 name: Test
98 100 files: /home/runner/work/ipython/ipython/coverage.xml
General Comments 0
You need to be logged in to leave comments. Login now