-
-
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
Support some form of "latest" for build.os
#8861
Comments
HI @askpatrickw! This was done on purpose 😄 . Having a With the current scenario, you are very explicit about the Ubuntu version you want to install. If you want to upgrade it, or you change it to a different and newer version, and builds start failing you know exactly why and you are able to solve it by yourself. Once you are happy with one repository you can do a bulk change for the others ~300 repositories. On the other hand, with the Actually, because of the last scenario described (and also being too permissive with sane defaults), we had to maintain a lot of weird things to make everybody happy and we were blocked from implementing new features for most of the users. So, IMHO, I wouldn't implement something like |
We already support setting python to 3 as alias for the latest version, I think it's useful to have a way to have the same for ubuntu, to be more specific about using the latest version I'd name it About users having problems when a new version is available, I think we can just be explicit in our docs about this if they choose to use |
As stsewd mentions, I could see something along the lines of the way you can specify "3" for "3.x". Something like It make a lot of sense for all the things to work the same, or at least as similarly as possible. |
I think we all think it's a nice feature and we all agree about its simple implementation. However, I have the same concerns for My point is that it's a nice feature while it works as we expected but we don't like it when it breaks, even if Read the Docs upgrades the versions properly. Besides, That's about one software, Python version that, in theory, newer 3.x versions are able to run older 3.x code. However, if we talk about upgrading the base OS from Ubuntu 18.04 to Ubuntu 20.04 a lot of dependencies changed producing documentation projects to fail at a build or even worse, succeed but producing different results that are not easy to notice immediately. In the past, potentially producing this breaking change to many documentation projects, had complicated things and stopped us to move forward (e.g. Docker images were frozen for years because of this reason). So, that said, my point is "this is a good feature" but I'm sure "it will break" and "I don't think it's better UX to have it implemented" than "only give the user an explicit way of upgrading these versions" instead of adding magic in our side that does not match the current state of the reality. |
Note that we only use LTS versions, so there won't be |
Sorry, I was thinking the -04 could change for an LTS if there is a security fix. I'd not read the Ubuntu LTS scheme. So only acceptable values today would be 20-04 and soon 22-04. -p |
General comment on using
|
I tend to agree with @benjaoming. I'm OK offering advanced users the option to have things break on them, as long as they are opting into it 👍 |
"reproducible by default, latest by choice" :D Edit to make it rhyme: "reproducible by default, latest is your-eh-fault" |
I like this proposal. I'd vote 👍🏼 to have this config if we are pretty explicit about what it means to our users and, in particular, to us. I'm saying this because in the past we have decided to not upgrade the latest version of something because we already knew it was going to break hundred of projects immediately. In that scenario, "latest stopped meaning the latest version of the software itself" and started meaning something like "the lastest version of this software that keeps working on Read the Docs". This brought confusions to our users and problems to ourselves. That said, if
This is a pretty good summary 💯
The default versions is a more complex topic, in my opinion, that we can discuss in a specific issue. I agree that having |
Good point - we should definitely document what the definition of
|
Agreed on documenting what |
build.os
`build.os` is now mandatory in `.readthedocs.yml`. (RTD will not automatically assume that you want the latest ubuntu, which is a deliberate choice from the devs). See readthedocs/readthedocs.org#8861 (comment).
`build.os` is now mandatory in `.readthedocs.yml`. (RTD will not automatically assume that you want the latest ubuntu, which is a deliberate choice from the devs). See readthedocs/readthedocs.org#8861 (comment).
Wondering why this wasn't implemented before configuration files became required. As I've rolled out configuration files to projects, I cringe every time I have to write |
This is now required, apparently. See: - readthedocs/readthedocs.org#8861 (comment) - readthedocs/readthedocs.org#8912
This is now required, apparently. See: - readthedocs/readthedocs.org#8861 (comment) - readthedocs/readthedocs.org#8912
This is now required, apparently. See: - readthedocs/readthedocs.org#8861 (comment) - readthedocs/readthedocs.org#8912
This is now required, apparently. See: - readthedocs/readthedocs.org#8861 (comment) - readthedocs/readthedocs.org#8912 (cherry picked from commit JonathonReinhart/scuba@4b89e6e178)
- Closes #8861 - Closes #10912 Ref readthedocs/meta#140
* Config file: add support for latest aliases - Closes #8861 - Closes #10912 Ref readthedocs/meta#140 * User variables to make it shorter * Update OS * Updates from review * Rename ubuntu-latest-lts to ubuntu-lts-latest * Add alias for ruby
We've just shipped a version of this, so if you'd like to test it out, it should now be live. The version that |
Details
The new
build.os
setting only allows for a single very specific versioned value:ubuntu-20.04
.I help out on CircuitPython occasionally. Adafruit has ~300 CP library repos, plus an additional ~300 Arduino library repos.
Having to touch all these repos is very tedious when a version change is needed.
Proposed Change
I suggest changing build.os to support
ubuntu
ANDubuntu-20.04
as values. It should be documented that, for now, these are equivalent. That the version will be ubuntu-20.04, but in the future,ubuntu
will be "latest LTS".This would, for the time being, keep the functionality the same for RTD, but for groups with many repos, require less maintenance of the configuration.
The text was updated successfully, but these errors were encountered: