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

version_pr_info.new_version field stuck at high version #2931

Open
ytausch opened this issue Aug 13, 2024 · 2 comments
Open

version_pr_info.new_version field stuck at high version #2931

ytausch opened this issue Aug 13, 2024 · 2 comments

Comments

@ytausch
Copy link
Contributor

ytausch commented Aug 13, 2024

If a feedstock maintainer reconfigures the bot in conda-forge.yml, e.g. to skip pre-releases, and the bot now finds lower version numbers than before (which can be expected), one has to manually clear the new_version field in the corresponding version_pr_info file, or otherwise, the bot stops to issue version PRs.

Responsible is the following code:

# don't update the version if it isn't newer
if version_from_data and isinstance(version_from_data, str):
# we only override the graph node if the version we found is newer
# or the graph doesn't have a valid version
if isinstance(version_from_attrs, str):
vpri["new_version"] = max(
[version_from_data, version_from_attrs],
key=lambda x: VersionOrder(x.replace("-", ".")),
)
else:
vpri["new_version"] = version_from_data

Why does the new_version field in version_pr_info even exist? We could also use the value from the versions file directly, which would also speed up version updates, because we save an additional auto-tick step.

(currently it's update-upstream-versions → auto-tick → make-migrators → auto-tick, and the first auto-tick could be saved by this)

Workaround

Manually edit version_pr_info and set new_versioneither to false or to a version low enough so that updates happen again.

@beckermr
Copy link
Contributor

There are three versions to keep track of in the bot.

  • the current feedstock version
  • the highest version the bot ever found
  • the version the bot just found when searching

The existing logic should ensure that the bot never issues an old version, which used to be an issue.

The code path is fairly convoluted right now because the bot has undergone a ton of internal refactoring to increase the parallelism. This happens while it runs live to avoid having to stop, do a schema migration, and then start again.

@beckermr
Copy link
Contributor

We could try adding the newer versions to skip to the version ignore file. However idk if the bot logic handles that field correctly in all cases.

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

No branches or pull requests

2 participants