-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Old Pull Request previews are infinite redirecting #9109
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
Comments
We are currently marking external versions as
Then, we have a Celery task that collects external versions that are readthedocs.org/readthedocs/builds/tasks.py Line 231 in ccdad23
So we could:
None of them convince me 100%, but I think the clearest one is 1) since does not add special cases to the main logic: "We do not serve inactive versions". However, it's the one that requires more changes in the code 😞 . What do you think? Do you have some opinions here? |
It seems like having the state of the PR in the Version model would be useful for a few UI elements, so that seems like a reasonable approach. I agree having fewer special cases and weird exceptions is good, and making it explicit what we're doing is better. 👍 |
When an external Version is created, we mark it as `.state="open"` and when it's closed/merged we mark is as `.state="closed"`. This will be used by El Proxito to decide whether or not this version has to be served. After some time it got closed/merged, a Celery task will delete these versions. Note that we cannot use `.active=False` for this because we want to keep serving closed/merged PRs during some extra time after they are closed/merged and we are not serving inactive versions. Related #9109
When an external Version is created, we mark it as `.state="open"` and when it's closed/merged we mark is as `.state="closed"`. Note that we cannot use `.active=False` for this as we were doing, because we want to keep serving closed/merged PRs during some extra time after they are closed/merged and El Proxito is not serving inactive versions. With this approach, external versions will be always `.active=True` but with different `.state=`. That state is used by the periodic Celery task to know if the version has to be deleted or not. Closes #9109
When an external Version is created, we mark it as `.state="open"` and when it's closed/merged we mark is as `.state="closed"`. Note that we cannot use `.active=False` for this as we were doing, because we want to keep serving closed/merged PRs during some extra time after they are closed/merged and El Proxito is not serving inactive versions. With this approach, external versions will be always `.active=True` but with different `.state=`. That state is used by the periodic Celery task to know if the version has to be deleted or not. Closes #9109
When an external Version is created, we mark it as `.state="open"` and when it's closed/merged we mark is as `.state="closed"`. Note that we cannot use `.active=False` for this as we were doing, because we want to keep serving closed/merged PRs during some extra time after they are closed/merged and El Proxito is not serving inactive versions. With this approach, external versions will be always `.active=True` but with different `.state=`. That state is used by the periodic Celery task to know if the version has to be deleted or not. Closes #9109
When an external Version is created, we mark it as `.state="open"` and when it's closed/merged we mark is as `.state="closed"`. Note that we cannot use `.active=False` for this as we were doing, because we want to keep serving closed/merged PRs during some extra time after they are closed/merged and El Proxito is not serving inactive versions. With this approach, external versions will be always `.active=True` but with different `.state=`. That state is used by the periodic Celery task to know if the version has to be deleted or not. Closes #9109
When an external Version is created, we mark it as `.state="open"` and when it's closed/merged we mark is as `.state="closed"`. Note that we cannot use `.active=False` for this as we were doing, because we want to keep serving closed/merged PRs during some extra time after they are closed/merged and El Proxito is not serving inactive versions. With this approach, external versions will be always `.active=True` but with different `.state=`. That state is used by the periodic Celery task to know if the version has to be deleted or not. Closes #9109
This is an outcome of #9048, but we need to figure out how to solve this issue. We could special-case
external
versions to avoid this logic, or the PR build domain, but I think we probably need to think a bit more about this issue.We do note that this should continue to work in the docs:
Example:
The text was updated successfully, but these errors were encountered: