ci: run the configured tests, and build what the project declares - #3
Merged
Merged
Conversation
…ide them Without --tests, ci ran tests/ (or the root) even when pytest's testpaths named another directory, and installed tests/requirements.txt even when --tests selected other tests. The default now follows testpaths, the requirements file is looked up beside the selected tests, and the summary names the choice. Signed-off-by: nimbrel <[email protected]>
CARGO_PROFILE_RELEASE_STRIP only reaches Cargo's profile; strip = true under [tool.maturin] is applied by maturin itself and still erased every frame name. maturin 1.12 added MATURIN_STRIP to override pyproject.toml, so the build sets it. The stripped-library warning stays for older maturin, and _stripped no longer reads an unreadable file as stripped. Signed-off-by: nimbrel <[email protected]>
A build script that imports Python packages (cffi and setuptools, for one) failed, because nothing installed the project's build requirements. They are now installed, less maturin, into a build venv on the TSan interpreter that is first on PATH for maturin build. The test venv stays as it was. Signed-off-by: nimbrel <[email protected]>
Every run forces PYTHON_GIL=0, so a module without gil_used = false was tested in a mode its users never get, and nothing said so. After install, each extension module is imported once without PYTHON_GIL; if the GIL comes back on, ci and stress add a note. stress now prints the pipeline's notes. Signed-off-by: nimbrel <[email protected]>
Only one earlier generation was kept (tsan-previous/), so running several seeds back to back overwrote the logs behind a finding. Each run now writes to tsan-runs/<UTC time>[-seed<N>]/, the summary names it, and the last five runs are kept. Signed-off-by: nimbrel <[email protected]>
…lected Only an INTERNALERROR was recognised as an aborted session. A session that ran fewer tests than it collected (JUnit tests, skipped and deselected included), without -x or --maxfail saying why, now reads as aborted and exits 3. The JUnit file is removed before each session, so one that dies before writing it no longer inherits the previous run's counts. Signed-off-by: nimbrel <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes in how
ftcheck cipicks its inputs and reports its runs.--tests,ciuses pytest'stestpaths(frompytest.ini,pyproject.toml,tox.iniorsetup.cfg, in pytest's order), thentests/, then the project root, and says which it chose. Test requirements come from arequirements.txtbeside the selected tests, so--tests otherno longer installstests/requirements.txt.strip = trueunder[tool.maturin]is overridden withMATURIN_STRIP=false(maturin 1.12+), keeping symbols TSan needs; the warning stays for older maturin.[build-system].requires(other than maturin) is installed into a build environment on the TSan interpreter, so build scripts that import Python packages work.tsan-runs/<UTC time>[-seed<N>]/(the last five are kept), named in the summary.ciandstressnote when importing a module re-enables the GIL, since results then hold only withPYTHON_GIL=0.18 new tests in
tests/test_ci_pipeline.py.