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

Bump actions/setup-python from 2.3.2 to 3 #5849

Merged
merged 7 commits into from
Mar 1, 2022

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 28, 2022

Bumps actions/setup-python from 2.3.2 to 3.

Release notes

Sourced from actions/setup-python's releases.

v3.0.0

What's Changed

Breaking Changes

With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.

This new major release removes support of legacy pypy2 and pypy3 keywords. Please use more specific and flexible syntax to specify a PyPy version:

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version:
        - 'pypy-2.7' # the latest available version of PyPy that supports Python 2.7
        - 'pypy-3.8' # the latest available version of PyPy that supports Python 3.8
        - 'pypy-3.8-v7.3.8' # Python 3.8 and PyPy 7.3.8
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-python@v3
      with:
        python-version: ${{ matrix.python-version }}

See more usage examples in the documentation

Commits

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2.3.2 to 3.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v2.3.2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added the dependency Label for github dependabot label Feb 28, 2022
@Pierre-Sassoulas Pierre-Sassoulas added this to the 2.13.0 milestone Feb 28, 2022
@Pierre-Sassoulas
Copy link
Member

The "clean way" ™️ to do that is probably to not take the line/col in the functional test for python < 3.8 or pypy. At some point we'll want to have a modern pypy, right ?

@DanielNoord
Copy link
Collaborator

I'm looking into this as we speak.

3.6 isn't even developed anymore and the branch has been removed from the main git repo of PyPy, see repo.
So we will probably want to update to 3.7 or 3.8. I'd prefer 3.8, but I'll have a look what needs to be changed to allow that.

@DanielNoord
Copy link
Collaborator

DanielNoord commented Feb 28, 2022

Is there a way to invalidate the pip cache? We need pytest to run with 3.7 instead of the 3.8 that is currently installed in the cache.

Supporting PyPy 3.8 will take some more time. Not sure what exactly they are doing in ast, but they break an important assumption we're making in astroid. Instead of setting end_lineno to None if not available/known they seem to give all nodes an end_lineno of -1. This is breaking a number of if statements both in astroid and pylint that guard against looking at end_lineno if it is not correct.

@Pierre-Sassoulas
Copy link
Member

Supporting PyPy 3.8 will take some more time. Not sure what exactly they are doing in ast, but they break an important assumption we're making in astroid. Instead of setting end_lineno to None if not available/known they seem to give all nodes an end_lineno of -1. This is breaking a number of if statements both in astroid and pylint that guard against looking at end_lineno if it is not correct.

I see two ways to fix that: We can stop checking the line/col for pypy like we already for for <= 3.7 python interpreter, or we can maybe handle -1 and None the same way in astroid ?

@DanielNoord
Copy link
Collaborator

I see two ways to fix that: We can stop checking the line/col for pypy like we already for for <= 3.7 python interpreter, or we can maybe handle -1 and None the same way in astroid ?

Yeah, probably something like that. I don't have the time right now, but I'd like to see why PyPy doesn't provide the ast like cpython does. They seem to copy the stdblib for ast. I didn't find an issue about it in their tracker, but we probably need to have another look.
I'm not sure if the parser is in the "spec" of 3.8, but it feels like PyPy should do something with it. The fact that they seem to be returning -1 everywhere is at least different than cpython.

@coveralls
Copy link

coveralls commented Feb 28, 2022

Pull Request Test Coverage Report for Build 1916527175

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 93.997%

Totals Coverage Status
Change from base Build 1905718907: 0.0%
Covered Lines: 14937
Relevant Lines: 15891

💛 - Coveralls

Copy link
Member

@cdce8p cdce8p left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a way to invalidate the pip cache?

Pip itself isn't cached between runs, just the created venvs.

.github/workflows/ci.yaml Outdated Show resolved Hide resolved
.github/workflows/ci.yaml Outdated Show resolved Hide resolved
.github/workflows/ci.yaml Outdated Show resolved Hide resolved
.github/workflows/ci.yaml Outdated Show resolved Hide resolved
@DanielNoord
Copy link
Collaborator

😡

Apparently it takes 3+ min to clone our git repository for GitHub Actions which is now timing out all the set-up actions. I'll re-run.

@DanielNoord DanielNoord requested a review from cdce8p March 1, 2022 14:12
Copy link
Member

@cdce8p cdce8p left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, would you like to update it in astroid too?

@DanielNoord
Copy link
Collaborator

Looks good, would you like to update it in astroid too?

I'll have a look this evening!

@DanielNoord DanielNoord merged commit 843a8ff into main Mar 1, 2022
@DanielNoord DanielNoord deleted the dependabot/github_actions/actions/setup-python-3 branch March 1, 2022 14:32
@DanielNoord DanielNoord mentioned this pull request Mar 1, 2022
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependency Label for github dependabot
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants