google / python-fire

Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
Other
26.86k stars 1.44k forks source link

adding python 3.10 [tag & CI] #428

Closed Borda closed 1 year ago

Borda commented 1 year ago

I believe that Fire is fully compatible with all new Python versions so:

google-cla[bot] commented 1 year ago

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Borda commented 1 year ago

Might be good to test 3.12-dev as well, to make sure things here are ready, and also to help test CPython itself before the big release in October.

sure, just would make it in separate PR to keep this change focus... :chipmunk:

Borda commented 1 year ago

Hello @dbieber, could you pls check and approve running CI... :chipmunk:

dbieber commented 1 year ago

Thanks for the PR. Looks like we'll have to adjust the asyncio support for recent Python versions

E AttributeError: module 'asyncio' has no attribute 'coroutine'

Borda commented 1 year ago

ok, so lets do it one by one :chipmunk:

dbieber commented 1 year ago

What's the significance of the squirrel emoji?

Borda commented 1 year ago

What's the significance of the squirrel emoji?

Nothing special, just mood at the moment, but I can remove it if you wish :otter:

Borda commented 1 year ago

Anyways, it seems that the CI is also failing for py3.8, which was untouched in this PR, so maybe something on master? Maybe worse to implement version freeze?

dbieber commented 1 year ago

I can remove it if you wish 🦦

Not at all! Was just curious. 🐙

Anyways, it seems that the CI is also failing for py3.8, which was untouched in this PR

Yes, looks like an update to the linter. #430 addresses. But 3.7 is also failing, and that looks like a linter bug, not a fire one!

Borda commented 1 year ago

@dbieber, it seems this one #431 make all :green_circle: again

hugovk commented 1 year ago

431 needs a little path fix: please see https://github.com/google/python-fire/pull/433

hugovk commented 1 year ago

433 is merged, ready for rebase/update here.

Borda commented 1 year ago

@hugovk would it be possible in the setting to enable:

hugovk commented 1 year ago

It would, but I'm not a member of this project :)

For auto-merge, we'd need to mark some status checks as required. The CLA is an obvious choice. For the CI, it can be tedious having to click through in the admin settings to mark each individual Python version as a required check; and then when adding/dropping versions, having to go back and repeat.

A common solution is to add a final noop job, which depends on the main test matrix job. And then only that final success job needs to be added as a required check. For example:

Screenshots image image
Borda commented 1 year ago

A common solution is to add a final noop job, which depends on the main test matrix job. And then only that final success job needs to be added as a required check. For example:

yes I did it too but I think your job won't reflect skip/cancel event, see: https://github.com/Lightning-AI/ecosystem-ci/blob/4ed3826392d0b779f8fabb7d559f5d59bb3fd261/.github/workflows/ci_compatible.yml#L112-L124

@hugovk adding it as suggestion in #435

dbieber commented 1 year ago

I merged the version change (CI for 3.10). I left the trigger as is since I don't understand the security implications of it well enough yet.