Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Replace NEXT_RUFF_VERSION with rooster in releases#22732

Merged
ntBre merged 8 commits intomainfrom
brent/rooster-rule-versions
Jan 20, 2026
Merged

Replace NEXT_RUFF_VERSION with rooster in releases#22732
ntBre merged 8 commits intomainfrom
brent/rooster-rule-versions

Conversation

@ntBre
Copy link
Contributor

@ntBre ntBre commented Jan 19, 2026

Summary

This PR updates our rooster config to replace NEXT_RUFF_VERSION with the new
version when doing releases. This will be helpful for the preview_since
entries (and even others like stable_since) in the violation_metadata macro,
which we currently update manually.

This is the variable name that we discussed briefly on Discord, but something shorter might be nice too? I guess we may also want a check somewhere that there's not a typo preventing the version from ever being updated?

I went ahead and added this validation to the macro.

Test Plan

The first commit is the entirety of the rooster config change. The second commit
modifies an existing rule to use the NEXT_RUFF_VERSION field, and then the
third commit shows the result of a ./scripts/release.sh run that successfully
updates the rule metadata. The fourth commit reverts the test release.

ntBre added 4 commits January 19, 2026 14:34
Summary
--

This PR updates our rooster config to replace `NEXT_RUFF_VERSION` with the new
version when doing releases. This will be helpful for the `preview_since`
entries (and even others like `stable_since`) in the `violation_metadata` macro,
which we currently update manually.

Test Plan
--

The first commit is the entirety of the rooster config change. The second commit
modifies an existing rule to use the `NEXT_RUFF_VERSION` field, and then the
third commit shows the result of a `./scripts/release.sh` run that successfully
updates the rule metadata. The fourth commit reverts the mock release.
@ntBre ntBre added the release Related to the release process label Jan 19, 2026
@astral-sh-bot
Copy link

astral-sh-bot bot commented Jan 19, 2026

Typing conformance results

No changes detected ✅

@astral-sh-bot
Copy link

astral-sh-bot bot commented Jan 19, 2026

mypy_primer results

Changes were detected when running on open source projects
prefect (https://github.com/PrefectHQ/prefect)
- src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:461:21: error[invalid-await] `Unknown | None | Coroutine[Any, Any, Unknown | None]` is not awaitable
+ src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:461:21: error[invalid-await] `Unknown | None | Coroutine[Any, Any, None | Unknown]` is not awaitable
- src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:535:21: error[invalid-await] `Unknown | None | Coroutine[Any, Any, Unknown | None]` is not awaitable
+ src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:535:21: error[invalid-await] `Unknown | None | Coroutine[Any, Any, None | Unknown]` is not awaitable
- src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:610:21: error[invalid-await] `Unknown | None | Coroutine[Any, Any, Unknown | None]` is not awaitable
+ src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:610:21: error[invalid-await] `Unknown | None | Coroutine[Any, Any, None | Unknown]` is not awaitable
- src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:685:21: error[invalid-await] `Unknown | None | Coroutine[Any, Any, Unknown | None]` is not awaitable
+ src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:685:21: error[invalid-await] `Unknown | None | Coroutine[Any, Any, None | Unknown]` is not awaitable
- src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:760:21: error[invalid-await] `Unknown | None | Coroutine[Any, Any, Unknown | None]` is not awaitable
+ src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:760:21: error[invalid-await] `Unknown | None | Coroutine[Any, Any, None | Unknown]` is not awaitable
- src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:835:21: error[invalid-await] `Unknown | None | Coroutine[Any, Any, Unknown | None]` is not awaitable
+ src/integrations/prefect-dbt/prefect_dbt/cli/commands.py:835:21: error[invalid-await] `Unknown | None | Coroutine[Any, Any, None | Unknown]` is not awaitable
- src/prefect/deployments/runner.py:795:70: warning[possibly-missing-attribute] Attribute `__name__` may be missing on object of type `Unknown | ((...) -> Any)`
+ src/prefect/deployments/runner.py:795:70: warning[possibly-missing-attribute] Attribute `__name__` may be missing on object of type `Unknown | (((...) -> Any) & ((*args: object, **kwargs: object) -> object))`
- src/prefect/flow_engine.py:812:32: error[invalid-await] `Unknown | R@FlowRunEngine | Coroutine[Any, Any, R@FlowRunEngine]` is not awaitable
- src/prefect/flow_engine.py:1401:24: error[invalid-await] `Unknown | R@AsyncFlowRunEngine | Coroutine[Any, Any, R@AsyncFlowRunEngine]` is not awaitable
- src/prefect/flow_engine.py:1482:43: error[invalid-argument-type] Argument to function `next` is incorrect: Expected `SupportsNext[Unknown]`, found `Unknown | R@run_generator_flow_sync`
- src/prefect/flow_engine.py:1490:21: warning[possibly-missing-attribute] Attribute `throw` may be missing on object of type `Unknown | R@run_generator_flow_sync`
- src/prefect/flow_engine.py:1524:44: warning[possibly-missing-attribute] Attribute `__anext__` may be missing on object of type `Unknown | R@run_generator_flow_async`
- src/prefect/flow_engine.py:1531:25: warning[possibly-missing-attribute] Attribute `throw` may be missing on object of type `Unknown | R@run_generator_flow_async`
- src/prefect/flows.py:286:34: error[unresolved-attribute] Object of type `(**P@Flow) -> R@Flow` has no attribute `__name__`
+ src/prefect/flows.py:286:34: error[unresolved-attribute] Object of type `((**P@Flow) -> R@Flow) & ((*args: object, **kwargs: object) -> object)` has no attribute `__name__`
- src/prefect/flows.py:404:68: error[unresolved-attribute] Object of type `(**P@Flow) -> R@Flow` has no attribute `__name__`
+ src/prefect/flows.py:404:68: error[unresolved-attribute] Object of type `((**P@Flow) -> R@Flow) & ((*args: object, **kwargs: object) -> object)` has no attribute `__name__`
+ src/prefect/flows.py:1750:53: warning[unused-ignore-comment] Unused blanket `type: ignore` directive
- Found 5411 diagnostics
+ Found 5406 diagnostics

static-frame (https://github.com/static-frame/static-frame)
- static_frame/core/node_selector.py:526:16: error[invalid-return-type] Return type does not match returned value: expected `InterGetItemLocReduces[TVContainer_co@InterfaceSelectQuartet, Any]`, found `InterGetItemLocReduces[Unknown | Bottom[Series[Any, Any]], Any]`
+ static_frame/core/node_selector.py:526:16: error[invalid-return-type] Return type does not match returned value: expected `InterGetItemLocReduces[TVContainer_co@InterfaceSelectQuartet, Any]`, found `InterGetItemLocReduces[Bottom[Series[Any, Any]] | Unknown, Any]`

No memory usage changes detected ✅

@astral-sh-bot
Copy link

astral-sh-bot bot commented Jan 19, 2026

ruff-ecosystem results

Linter (stable)

✅ ecosystem check detected no linter changes.

Linter (preview)

✅ ecosystem check detected no linter changes.

Formatter (stable)

✅ ecosystem check detected no format changes.

Formatter (preview)

✅ ecosystem check detected no format changes.

@ntBre ntBre marked this pull request as ready for review January 19, 2026 20:28
@ntBre ntBre requested a review from MichaReiser January 20, 2026 00:29
}

fn parse_version(meta: &ParseNestedMeta) -> syn::Result<LitStr> {
/// Match either a semantic version with an optional `v` prefix (`v1.2.3`, `0.12.34`) or the
Copy link
Member

Choose a reason for hiding this comment

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

What's the reason that we allow the v prefix? Can't we standardize around one format?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

All of our versions before 0.5.0 have a v prefix, so this was just to allow those. I narrowed this a bit more to allow the v only for v0.[0-4].\d+.

@ntBre ntBre merged commit d4123fc into main Jan 20, 2026
68 checks passed
@ntBre ntBre deleted the brent/rooster-rule-versions branch January 20, 2026 22:58
ntBre added a commit that referenced this pull request Jan 20, 2026
Summary
--

This is a follow-up to #21035 and #22732 to update the contribution guide for
adding a new rule for the changes to the `violation_metadata` attribute and also
to how we emit diagnostics.

Test Plan
--

Built and viewed the docs locally to make sure they render correctly
ntBre added a commit that referenced this pull request Jan 21, 2026
Summary
--

This is a follow-up to #21035 and #22732 to update the contribution
guide for
adding a new rule for the changes to the `violation_metadata` attribute
and also
to how we emit diagnostics.

Test Plan
--

Built and viewed the docs locally to make sure they render correctly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Related to the release process

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants