Skip to content

Migrate from just to poe#205

Open
anuraaga wants to merge 4 commits intoconnectrpc:mainfrom
anuraaga:just-poe
Open

Migrate from just to poe#205
anuraaga wants to merge 4 commits intoconnectrpc:mainfrom
anuraaga:just-poe

Conversation

@anuraaga
Copy link
Copy Markdown
Collaborator

@anuraaga anuraaga commented Apr 7, 2026

Normally I should get consensus in an issue but didn't ;-)

I like poe a lot and use it in all my projects, especially for it's good Windows compatibility. Notably, we had to minimize just usage in CI since we have Wnidows there. The reason we have justfile here is because the previous connect-python repo was using it and I wanted to keep the diff against it minimal, but otherwise would recommend poe.

@anuraaga anuraaga requested a review from a team April 7, 2026 05:47
Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com>
Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com>
help = "Apply auto-formatting to TOML files"
cmd = "tombi format"

[tasks.generate]
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Looking forward to the tombi schema supporting the new groups feature (hint hint :) )

https://poethepoet.natn.io/guides/help_guide.html#grouping-tasks

@@ -0,0 +1,116 @@
#:schema https://json.schemastore.org/partial-poe.json
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Don't mind putting it directly in pyproject.toml but I tend to split it out to prevent an ever-growing project config file


[tasks.lint]
help = "Apply all possible linting to files"
sequence = ["lint-python", "lint-toml", "lint-types"]
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I'm always torn on whether lint should run typechecks since it is pretty slow, but I went with it this time since I feel it is the simplest model

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'd still love to investigate ty someday, maybe when they're a little more stable...

run: uv run poe test-otel ${{ matrix.coverage == 'cov' && '--cov=connectrpc_otel --cov-report=xml' || '' }}

- name: run Go tests
run: go test ./...
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

There are a few more that look worth getting into tasks but didn't go too far this time

Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com>
Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com>
module github.com/connectrpc/connect-python/protoc-gen-connect-python

go 1.25.0
go 1.25.7
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is to match the latest buf, or otherwise go-version-file selects a too-old Go. While I like to keep this at 0, it is less important for non-libraries, especially ones commonly used with buf

Copy link
Copy Markdown
Member

@stefanvanburen stefanvanburen left a comment

Choose a reason for hiding this comment

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

lgtm, one suggestion on the bump task


[tasks.lint]
help = "Apply all possible linting to files"
sequence = ["lint-python", "lint-toml", "lint-types"]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'd still love to investigate ty someday, maybe when they're a little more stable...

Comment on lines +12 to +18
args = [
{ name = "_version", help = "The type of version bump to apply", choices = [
"patch",
"minor",
"major"
] }
]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

was just kicking the tires and noticed this doesn't working without an arg supplied; make it a required arg?: https://poethepoet.natn.io/guides/args_guide.html

Suggested change
args = [
{ name = "_version", help = "The type of version bump to apply", choices = [
"patch",
"minor",
"major"
] }
]
args = [
{ name = "_version", required = true, help = "The type of version bump to apply", choices = [
"patch",
"minor",
"major"
] }
]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants