Closed Pierre-Sassoulas closed 8 months ago
All modified and coverable lines are covered by tests :white_check_mark:
Comparison is base (
69ad82f
) 93.97% compared to head (5c6d3fb
) 93.98%.:exclamation: Current head 5c6d3fb differs from pull request most recent head 2df48d8. Consider uploading reports for the commit 2df48d8 to get more accurate results
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Let's do a direct-to-pyproject conversion instead, after we release the last pylint<3
fixes.
WDYT?
If the current setup will do us "one last release", let it be.
I guess I should also be the first name / contact person (with everything redirecting here).
Maybe let's release a last version using setup.py first, it's going to be easier to do that if we drop support for python 3.6 first (Also 3.7 is EOL too).
If py3.6 makes it hard for us to move forward, let's do it.
However, "are there people still depending on it"? 😕 Ubuntu 18.04 LTS shipped with py3.6 (ofc, that is now EOL too - but just saying)
Is there ... some kind of dashboard that would show us downloads/month per python version?
Noice graphs
Yea, let's do it. But maybe after merging "outstanding issues".
Should we also release a minor after the CI-scaffolding finishes?
btw, any idea what Null
is?
They are a "significant force", but given that the 3.6 is max 58 downloads/day (very graciously 1800/mo) - it is a decision I have made already.
And also yea - let's drop 3.7 too
There are some higher spikes - but "all in all", they are at the same level
Activating 3.8 only makes them disappear
I think we could release alphas to test the release workflow right now, release the last python 3.6 compatible version, then get on the pylint 3.0 compat, and release a new version not compatible with python 3.6 / 3.7 (everything with linter is just nice to have for long term maintenance).
WdYT ?
1.1.3a0
tag to test release workflow1.1.3
when the release workflow worksI was thinking:
https://github.com/pylint-dev/pylint-pytest/milestone/1
1.1.3a0
tag to test release workflow (whenever you want: Now, later, after CI things ... whatever is a
or b
I don't mind that much at this point): https://github.com/pylint-dev/pylint-pytest/pull/101.1.3
when the release workflow works - maybe let's finish bootstrapping the CI. We can do it whenever (i.e.: Not all linters need to be up and running)1.1.x
s (if we have CI-releases, we can do it per-MR-merged - I don't mind)https://github.com/pylint-dev/pylint-pytest/milestone/2
Step 1/2 in #10
Probably https://github.com/pylint-dev/pylint-pytest/issues/13 touches here
Hmm, pyproject.toml support is easier if we already dropped python 3.6 / 3.7 I would say. Are we dropping 3.6 3.7 in 1.1.3 ? (milestone of this MR should be v2 or 1.2.x ?). Let's see how the pipeline fair after a rebase.
I think dropping py 3.6 / 3.7 is great but it contradict https://github.com/pylint-dev/pylint-pytest/pull/8#issuecomment-1763332031 wdyt ?
idk; I feel like I want to merge the fixes that have been existing for months (years?) before dropping support 😓
Ok then blocked by 1.1.3 (#2 and https://github.com/PyCQA/pylint-pytest/pull/1 -- this aim to merge in the pycqa repo, probably the branch need to be changed, or reopened here ?)
Re-opened here (forks are split because of the archival 😕, and you cannot PR between severed forks)
My personal fork has the branch already there - I just haven't "done it" yet
Seems like there's #24 mixed in ? We can close #24 then ?
Seems like there's #24 mixed in ? We can close #24 then ?
It seems so 😅 Looking back at the commit, I don't really get what fixed it.
The error was highly-esoteric:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <astroid.rebuilder.TreeRebuilder object at 0x7f84bc5d7a70>
node = <ast.TypeAlias object at 0x7f84bb2ee910>
parent = <Module.typing l.0 at 0x7f84bc5d5e20>
def visit(self, node: ast.AST | None, parent: NodeNG) -> NodeNG | None:
if node is None:
return None
cls = node.__class__
if cls in self._visit_meths:
visit_method = self._visit_meths[cls]
else:
cls_name = cls.__name__
visit_name = "visit_" + REDIRECT.get(cls_name, cls_name).lower()
> visit_method = getattr(self, visit_name)
E AttributeError: 'TreeRebuilder' object has no attribute 'visit_typealias'
(https://github.com/pylint-dev/pylint-pytest/actions/runs/6508313960/job/17677430135?pr=1#step:5:1587, for only a couple of tests: https://github.com/pylint-dev/pylint-pytest/actions/runs/6508313960/job/17677430135?pr=1#step:5:117)
But the Actions are unambiguous: It's fixed:
https://github.com/pylint-dev/pylint-pytest/actions/runs/6754228827/job/18361511074#step:6:165
AttributeError: 'TreeRebuilder' object has no attribute 'visit_typealias'
Astroid was upgraded to be able to handle a new construct from python 3.12
Great 🎉 !!
Additionally, fixes https://github.com/pylint-dev/pylint-pytest/issues/3