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

Revert "Don't depend on flake8 at runtime (#6830)" #7836

Merged
merged 1 commit into from
Aug 18, 2023

Commits on Aug 18, 2023

  1. Revert "Don't depend on flake8 at runtime (#6830)"

    I realized I forgot to update the `.python-version` file to `3.8`, so
    we're still installing an older `flake8` version. And it's also breaking
    when :dependabot: runs on `dependabot-core` because it sees this `3.7`
    and says "that's not a supported version!"
    
    Furthermore, we haven't configured :dependabot: to watch the
    `./requirements.txt` which is separate from `./python/helpers/requirements.txt`.
    
    I started to update both of those but the complexity here didn't smell
    right. This way of installing `flake8` is actually different than
    linters for other native helpers, where we just include them in
    `composer.json`, `package.json`, etc. So the intuitive thing is to
    install `flake8` into `./python/helpers/requirements.txt`.
    
    In fact we used to do this, but in
    #6830 / f407685
    we switched to this new method because `flake8` dropped `3.6` support
    before we were ready to do that here in :dependabot:.
    
    Given that in :dependabot: we're moving toward aligning our support
    policies with upstream Python... ie, when they EOL a version, we will
    also drop support for it, then the risk of having a `flake8` version
    that's dropping support for a Python version that isn't yet EOL is quite
    small.
    
    Interestingly, `flake8` was very slow to drop `3.6`, but when they did,
    the maintainer also dropped `3.7` to save himself time even though it
    was a few months before it was EOL'd. So we could hit this scenario
    again... but I think the odds of that are somewhat low given the amount
    of blowback the maintainer got about dropping 3.7 before it was EOL'd.
    And regardless the consequences are also low... we'd simply revert
    that `flake8` version bump and temporarily hold it back for a few months
    until the upstream python version was dropped.
    
    Overall this feels like six one way, half a dozen the other as either
    way we are protecting against something. But switching back to how we do
    it for our other native helpers is both much simpler setup and also more
    internally consistent.
    
    So let's solve this by reverting back to the simpler way of installing
    the linter alongside the helper.
    
    As an aside, restoring this simplicity is yet another win from us
    choosing to align with upstream Python's EOL policy.
    
    This reverts commit f407685.
    jeffwidman committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    253ebdc View commit details
    Browse the repository at this point in the history