name: Run Downstream tests on: push: pull_request: # Run weekly on Monday at 1:23 UTC schedule: - cron: '23 1 * * 1' workflow_dispatch: permissions: contents: read jobs: test: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] python-version: ["3.10"] include: - os: macos-latest python-version: "3.10" steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Update Python installer run: | python -m pip install --upgrade pip setuptools wheel - name: Install ipykernel run: | cd .. git clone https://github.com/ipython/ipykernel cd ipykernel pip install -e .[test] cd .. - name: Install and update Python dependencies run: | python -m pip install --upgrade -e file://$PWD#egg=ipython[test] # we must install IPython after ipykernel to get the right versions. python -m pip install --upgrade --upgrade-strategy eager flaky ipyparallel python -m pip install --upgrade 'pytest<7' 'pytest_asyncio<0.21' - name: pytest ipykernel env: COLUMNS: 120 run: | cd ../ipykernel pytest - name: Install sagemath-repl run: | cd .. git clone --depth 1 https://github.com/sagemath/sage cd sage # We cloned it for the tests, but for simplicity we install the # wheels from PyPI. # (Avoid 10.3b6 because of https://github.com/sagemath/sage/pull/37178) pip install --pre "sagemath-repl<10.3b6" "sagemath-environment<10.3b6" # Install optionals that make more tests pass pip install sagemath-categories pillow cd .. - name: Test sagemath-repl run: | cd ../sage/ # From https://github.com/sagemath/sage/blob/develop/pkgs/sagemath-repl/tox.ini 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