Skip to content

Commit ad94868

Browse files
authored
Test pyflyby on CI as a downstream project (#14957)
`pyflyby` includes an extension to IPython which integrates tightly with a substantial part of the IPython API. Previous IPython releases broke `pyflyby` functionality; this may be acceptable if it happens in major releases, but there were instances were minor releases introduced incompatibilities which lead to downstream breakages. This PR includes a single `pyflyby` test file that verifies the IPython-related integration in the downstream testing job. This is meant to serve as a canary test for breaking API changes in the completer, interactive help, and debug magics, all covered in the `pyflyby` test suite. Should we decide that this is no longer needed, or that it introduces too much noise, this PR could be reverted in the future, but as of now it makes releasing new versions much easier as it alleviates the worry about breaking downstream functionality. Before merging deshaw/pyflyby#398: ``` ======= 5 failed, 114 passed, 30 skipped, 5 xfailed in 193.70s (0:03:13) ======= ``` After: ``` ======= 8 failed, 134 passed, 14 skipped, 2 xfailed in 344.92s (0:05:44) ======= ```
2 parents 466ce4f + 0eea55d commit ad94868

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

.github/workflows/downstream.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,16 @@ jobs:
7575
# cd ../sage/
7676
# # From https://github.com/sagemath/sage/blob/develop/pkgs/sagemath-repl/tox.ini
7777
# 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
78+
- name: Install pyflyby
79+
run: |
80+
cd ..
81+
git clone https://github.com/deshaw/pyflyby
82+
cd pyflyby
83+
pip install -e .
84+
# TODO: use [test] group instead once available
85+
pip install 'pytest<=8' requests
86+
cd ..
87+
- name: Test pyflyby (IPython integration only)
88+
run: |
89+
cd ../pyflyby
90+
pytest tests/test_interactive.py -k 'not test_timeit_complete_autoimport_member_1'

0 commit comments

Comments
 (0)