Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update requirements and fix resulting problems #1494

Merged
merged 12 commits into from
Aug 26, 2021
Merged

Conversation

gtristan
Copy link
Contributor

@gtristan gtristan commented Aug 9, 2021

This branch updates the requirements .txt files to ensure we're testing against versions of python libraries which would be found on systems we run buildstream on today.

Some side effects of this include:

  • Updated linting, now covers PEP 597
  • Workaround API brake in the click library
  • Mark the yaml roundtrip test to XFAIL due to the internal API break in the ruamel.yaml library
  • Added .github/run-ci.sh to help locally reproduce CI in docker environments
  • Disabling pytest-xdist usage again, since this is causing the test_deterministic_source_umask test to hang indefinitely in CI

@gtristan gtristan force-pushed the tristan/refresh-deps branch 3 times, most recently from 530518c to 0515ca5 Compare August 11, 2021 05:54
@gtristan gtristan changed the title Update requirements and fix API break from click Update requirements and fix resulting problems Aug 11, 2021
@gtristan gtristan force-pushed the tristan/refresh-deps branch 5 times, most recently from 0e519ee to b94575f Compare August 13, 2021 05:08
Since around the release of click 8.x, we have an API break in
the click.Path() parameter type, where one of it's public members
we were relying on has gone missing.

See upstream report: pallets/click#2037

This was fairly easy to work around.
@gtristan gtristan force-pushed the tristan/refresh-deps branch from 3ea71c0 to 4b7729c Compare August 24, 2021 07:13
Because it is currently raising a lot of false positives.
This includes the new `unspecified-encoding` error which is recently introduced
for https://www.python.org/dev/peps/pep-0597/.

All text files are now opened in utf8 encoding, binary mode files do not need
any special treatment as they are treaded as byte streams, and in one case
we silence the warning since we are wrapping the open() call in a CAS API.
…lly.

In case github CI is horribly broken, we can use this script to run the CI
locally.
This ensures that the script continues to work over time.
@gtristan gtristan force-pushed the tristan/refresh-deps branch from 1912db5 to 712a73e Compare August 25, 2021 08:58
…formatting

This test was writing the YAML with ruamel.yaml and then asserting that we
have the correct provenance, however as ruamel.yaml evolves we cannot be sure
that the dump formatting will be exactly the same (as it has in this instance).

To avoid confusion, create static copies of the project.conf so that the
provenance can be tested properly.
This job used to run standard CI with the `nocover` flag to ensure that
the tox env would not set things up with the `usedevelop` flag, which has
historically been required for coverage collection for some reason.

At this point, we run everything post py37 with the `nocover` flag because
all these python versions have broken the cython/coverage combination.

Since we *mostly* run CI with `nocover`, there is no point to keep this
job around for now.
…lism

As of recently, the test_deterministic_source_umask test from
src/buildstream/testing/_sourcetests/source_determinism.py has been hanging.

This is spuriously reproducible if you run the containers locally on your
linux machine and try to run tox repeatedly with the following invocation:

  tox -e py37-plugins -- -n 4 -k "test_deterministic_source_umask"

However, tests are hanging consistently in github CI, often with
the last visible line readable in CI being the running of these source
tests.

It appears that the only way to have tests pass at all in github now is
to disable the pytest-xdist parallelism.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant