-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Add latest/stable rules to version automation #5319
Comments
I just realized that we have some kind of automation for
|
One case where we might need explicit control over stable manipulation is when the project's versioning scheme doesn't quite match semver -- for instance when versions have a Maybe a few options here:
I suppose I vote the options that turn these implicit rules, or move us closer to turning these implicit rules, into explicit automation rules. Any other options? @stsewd any opinions on direction here? |
Hrm plot twist. I set up a test scenario for the case above and it functioned like expected. Incrementing a version It in fact was enough to enable a tagged version, and add an automation rule activating further |
Think what you are mentioning here was from the bug we had with stable not being updates bc a query was killing the python process. |
Yup! That was the underlying cause to the issue, so I think your point about What do you think about surfacing the latest/stable rules as mock automation rules in the new UI? I'm describing hardcoded, immutable objects. Maybe this is a baby step to offering the rules as configurable automation rules, but at least gives all of the various version logic rules illustrated in one place? |
+1 on making that configurable, that would solve the problem from #8015 (comment) There is a todo there readthedocs.org/readthedocs/builds/tasks.py Lines 324 to 326 in b523a78
I haven't thought about the implementation |
I just found #5319 (comment) while working on #8473. Would be nice to make this an automation rule. |
I have a monorepo and the detected Pointing stable to the latest activated version would fix it, no matter if it's semver or not. I'm using an automated rule with custom match to activate the versions, waiting on #5318 to remove that prefix. |
I was just reminded of this issue and I still think it would be a great UX improvement and could help us solve some issues stemming from the application being not super transparent with how we determine latest/stable. Perhaps related to this but more likely a separate feature, it would be great to also surface a |
Yes please 🙏 As for surfacing |
How do think it would be a good UX to communicate this to Read the Docs in a simple way that most users can understand? |
I think the current warning along the lines ~ "you are using outdated versions" is fine. It should be up to the individual projects to decide what is "outdated". |
Would turning |
I can only second the above! This would help us a lot! |
Hey lovely people - can report that on Vizro, we have come back to this, and we would still be excited for this feature :) |
At this point, I understand that this issue and #11183 are exactly the same: "we want users to be able to define their own algorithm1 to define the I'm 💯 on that and I think it will be a really good feature 👍🏼 My only concern is about the amount of work it requires and all the parts of the code it touches; which I think it will lead to unexpected issues for some time. I've seen that @agjohnson asked about splitting this work in different chunks to try reducing the amount of work and make it in different steps, but I'm not being able to visualize how that split will reduce the work required. Footnotes
|
This description doesn't seem to include the ability to set an automation for the most recent commit on a selected branch to trigger "stable" alias update. This was mentioned in this issue's description and, as I understood it, means I could do something that pushing a branch named "stable" does right now but without forcing you to use that exact name for the branch. |
We discussed this issue today and we are going to continue with the option to add a setting that dictates if our implicit logic is used, and allow for automation of this setting with an automation rule.
We do have some questions to figure out around how and when to execute the automation rules, as only running this automation rule on new branch/tag creation won't be enough. This is related to creating a stable version on project creation as well, which we discussed removing. Long term, we'd aim to move the implicit stable version logic to an explicit rule, but this logic does have conditions that we don't have in automation rules. We'll know more as we start breaking up this code, but this does not feel like a huge amount of work at the moment. @Jackenmen I believe the way we would implement this would cover what you're describing |
Should be fine, thank you for including that use case! Have you thought about how this feature would work when a branch gets deleted at some point, i.e. does it switch the alias to whatever is the latest tagged version (until the branch potentially gets created layer) or does it not do anything until the next (newer) tagged version is created (or until the branch is recreated)? |
One of the notes we have from our meeting is "If users set the stable version manually (for example to their existing |
Hey guys, happy to see that this gets traction 😃 . Am I right in understanding that the aim is now to define stable by commits to specific branch? Would it also consider the case where we define a tag manually? For example -v0.1.12 or smth? |
@maxschulz-COL stable would point to a branch (which will use the latest commit that was built), or a tag. |
Disclaimer: I'll be asking some dumb questions in perhaps a bit argumentative way but I'm just trying to understand the differences between different parts that are proposed, I have no ill will 😄 At the end, I started just throwing random thoughts without concrete questions so I don't really know what I expect to gain from it :P
I don't really know what part of the feature this is referring to exactly. What does setting manually here mean? Based on Anthony's message, there's:
which perhaps actually means you could completely manually set the i.e. the second point:
seems to mean setting a fixed branch name whose updates will trigger alias updates. But then we also have the third point:
which, if it were set to "update the stable version on branch creation" seemingly means the same thing but it says it's an "automation rule" so maybe it offers more features over the second point? Does the second point offer something that this point doesn't? I imagine I would want to use a second or third point, both of which perform some automation so I'm not entirely sure what your answer means in the context of those points. Concretely, would it be possible to have both "on branch update" and "on tag update" rules enabled at the same time? Would they do something sensible? My previous question presented a situation where, if a I managed to confuse myself with this last part because I only look at the case of the |
And that tag could be customizeable / "user defined algrothm" --> I am thinking of mono-repos with one main branch but two packages with two sets of documentation |
Hopefully this clarifies the feature:
|
For reference (in case someone missed that context), Automation Rules is a concept that already exists on RTD https://docs.readthedocs.io/en/stable/automation-rules.html |
🆕 I am proposing to split this into two phases. This issue originally discussed moving implicit rules to explicit rules. Instead, I think we could start just by surfacing control that can override our implicit rules. My primary want here is user control of
stable
. The intent is to reduce the work needed to achieve stable automation rules.Work we started in #4001 and #5318 will be expanded on here. We will refactor latest/stable alias management and make this more explicit to users. Users will be able to manage these aliases and our implicit rules will be surfaced in the UI for user management.
Example of psuedo rule logic we'll support with this:
latest
]stable
]Work
stable
as a target for automation rulesFront conversations
The text was updated successfully, but these errors were encountered: