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

[PR] Ensure predictable mypy's type-checking rules in CI/CD #265

Closed
kopf-archiver bot opened this issue Aug 18, 2020 · 0 comments
Closed

[PR] Ensure predictable mypy's type-checking rules in CI/CD #265

kopf-archiver bot opened this issue Aug 18, 2020 · 0 comments
Labels
archive automation CI/CD: testing, linting, releasing automatically

Comments

@kopf-archiver
Copy link

kopf-archiver bot commented Aug 18, 2020

A pull request by nolar at 2019-12-07 11:30:30+00:00
Original URL: zalando-incubator/kopf#265
Merged by nolar at 2019-12-11 16:33:23+00:00

The type-checking rules should be predictable over time.

Issue : originally detected in #262, originally introduced in #200

Description

mypy

New mypy releases sometimes break the CI/CD builds when no significant code changes are introduced to the codebase. The CI/CD builds are expected to succeed as before.

Just happened in #262 — a documentation/CRD change, that got asyncio.wait() type-checks in kopf.reactor.running broken. A broken build: https://travis-ci.org/zalando-incubator/kopf/builds/620169471

Caused by a regression in mypy==0.750 with type inference (python/mypy#8051). The fix is going to be released 1 month after the regression was introduced: 21.11.2019 .. 16.12.2019. We cannot afford to wait 1 month with a broken CI/CD pipeline.

Previously, there were similar sudden changes in mypy with new rules in a new mypy release: e.g. #208.

It is expected that such backward-incompatible changes or regressions will be introduced in the future too — due to active development of mypy. So, since now, we keep the version pinned, and upgrade it explicitly as a separate PR (manual or maybe automatic) — possibly with relevant code changes to satisfy new type-checking rules.

urllib3

The urllib3 version ceiling was introduced in May 2019 in a256445 — due to setuptools/pkg_resources version conflicts and inability to run the CI/CD scripts. This ceiling was applied only to our own CI/CD. The apps were free to handle these issues their own way.

The issue seems to be fixed in psf/requests#5067 in April 2019.

Types of Changes

  • Configuration change
@kopf-archiver kopf-archiver bot closed this as completed Aug 18, 2020
@kopf-archiver kopf-archiver bot changed the title [archival placeholder] [PR] Ensure predictable mypy's type-checking rules in CI/CD Aug 19, 2020
@kopf-archiver kopf-archiver bot added the automation CI/CD: testing, linting, releasing automatically label Aug 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
archive automation CI/CD: testing, linting, releasing automatically
Projects
None yet
Development

No branches or pull requests

0 participants