Skip to content

tests: Set poetry min-release-age to 2 weeks#75

Open
bkeryan wants to merge 2 commits into
mainfrom
users/bkeryan/poetry-min-release-age
Open

tests: Set poetry min-release-age to 2 weeks#75
bkeryan wants to merge 2 commits into
mainfrom
users/bkeryan/poetry-min-release-age

Conversation

@bkeryan
Copy link
Copy Markdown
Collaborator

@bkeryan bkeryan commented May 13, 2026

What does this Pull Request accomplish?

Configure Poetry to use a minimum release age of 2 weeks, the same as in https://github.com/ni/python-renovate-config

Update poetry.lock to reference Poetry 2.4.0 or above, which is when the solver.min-release-age setting was added.

Why should this Pull Request be merged?

poetry update doesn't support specifying a version number, which causes problems when Renovate tries to use it to update to a version that is not the latest. Configuring both Renovate and Poetry to use the same minimum release age should improve this behavior. It should also enforce the minimum release age for lockFileMaintenance.

What testing has been done?

I tested the approach by running Renovate in a personal fork of the nitypes-python repo.

@bkeryan bkeryan requested a review from mshafer-NI as a code owner May 13, 2026 23:11
@bkeryan
Copy link
Copy Markdown
Collaborator Author

bkeryan commented May 13, 2026

@mshafer-NI It also occurred to me that it could make sense for ni/python-actions/setup-poetry to configure some default settings. However, this approach would not set min-release-age-exclude to exclude other NI packages from the dependency cooldown period.

min-release-age-exclude is a list of package names, not a wildcard or fnmatch. There's also min-release-age-exclude-source, but that is per package index and I don't think it can distinguish between 1st party and 3rd party packages in the public PyPI.

@bkeryan
Copy link
Copy Markdown
Collaborator Author

bkeryan commented May 15, 2026

@mshafer-NI It also occurred to me that it could make sense for ni/python-actions/setup-poetry to configure some default settings. However, this approach would not set min-release-age-exclude to exclude other NI packages from the dependency cooldown period.

min-release-age-exclude is a list of package names, not a wildcard or fnmatch. There's also min-release-age-exclude-source, but that is per package index and I don't think it can distinguish between 1st party and 3rd party packages in the public PyPI.

On further thought, we could list all of NI's public Python packages in min-release-age-exclude.

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.

1 participant