-
Notifications
You must be signed in to change notification settings - Fork 200
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
Keep only the two most recent builds rather than three #506
Comments
@bananer I'd be interested to know your thoughts on this if you have time |
Sat 02 Dec 23
|
Looks like this now only leaves the current build and the last previous major version build |
It should leave the two most recently built versions, which would normally be the same version but previous month. I have vague memories of wrongly triggering a build of an earlier major version for one device, but I cant remember which. |
Looking at bramble, the only builds available are this month's build and the 19.1 build from 12/16/2022 Same for enchilada |
OK It looks like there's a bug in the cleanup code which happens here that doesn't do the right thing when a device is moved to the next Android version. Not sure whether the fix is in that sell code or in the It's not new: in previous build runs we will have had 2 x 20.0 builds and 1 x 19.1 build. It will happen a lot in this build run, as a lot of devices have moved from 19.1 to 20.0 :( I don't have the time (or the skills) to start debugging either. Short term I will do the following:
|
On the build server, for those devices which
I have deleted the 1?.1 files, so that after this month's build we will have the two most recent 20.0 builds. On completion of the build for each device, the device This applies to the following devices:
Next for the devices which were built for 19.1 last month, which should all be built for 20.0 this month ( That leaves the following problems to solve:
I will think about 1, and maybe ask other s for ideas on 2. @st3rox Thanks for spotting this. It's not a new problem, but it's more urgent with only keeping two builds instead of three |
More investigation:
Time to stop now before I do any more damage :) |
Damn! Removing the old builds didn't fix the problem for h990: no we only have today's build, |
I didn't realize lineageOS doesn't keep old versions I see no problem with getting rid of previous versions to keep storage usage down For future version increases my suggestion would be keeping the last previous version build for some time until the current version is daily driver quality |
I'd like to echo the other offers to help buy more space. Or offer space on my home storage server. I just got bit by an update that breaks calling, and no clear way to access the next previous update file. |
If your device has a/b partitions you can switch to the other partition to get back to your previous install |
Thank you for the troubleshooting advice, st3rox. When I change the active slot the system fails to boot with a warning about corruption. If there's a user step to enable a/b booting I must have not set it up. For the topic of having older builds available, would a solution like the link below be permissible to this project's hosting provider? I only downloaded one phone's listing as an example, but I could keep the last handful of builds available for all the phones. If the main repo kept the old sha files too, then users could confirm what they download from me is correct. Those sha files are small, but I understand that keeping more of them is still the opposite of freeing up space.. https://mirror.berocs.com/download.lineage.microg.org/guacamole/ |
Thanks for these offers, but I don't think that's the way to go. We definitely have enough storage to keep the two most recent builds, and I think that will be enough. The fact that, for some devices we now only have one build is down to a bug either in the code that keeps a specified number of builds - previously three, changed to two for this build run - or in my understanding of that code. I hope to resolve that before the next build run. From then on, two builds should be available for each device, and I don;t think we need any more than that |
The right thing is happening with the 18.1 builds: before this build run, two builds - the October & November builds - were available for the 18.1 devices; after this month's build we still have two builds -the November & December builds |
Not for every device. |
Good spot! Looking at the logs, I think we had a 17.1 build for that device. So it looks like the 'bug' is in the handling of devices where a build of a previous Android / LOS version was present. Probably not helped by my removing all the 17.1 builds I could find - see my earlier comments |
I don't have proof for this (scrrenshots), but as far as I remember, there was no 17.1 build before. There was the current monthly 18.1 build including recovery and boot image and corresponding checksums. Additionally there was the previous monthly 18.1. image and corresponding checksum (no recovery and boot). |
At some point before the January build run, I will check how many / which devices now have two builds present and which have only one. I don't see the point of keeping builds for old Android versions once a device has been successfully 'promoted` to a higher Android version (except for devices which were only promoted in the most recent build run. Ideally we should have two builds for each device available. These will usually be the latest Android version. For recently promoted devices, we will have the most recent build which is the new version, and the previous build of the previous version. So users of those devices have a month to check that the new Android version is working OK before the old Android version disappears. |
See Tidy up old 17.1, 18.1 & 19.1 builds on both servers #525 After the January build run we have 263 zip files for 230 separate devices, so only 30 or our build targets have two builds as they should
18.1 Builds
devices May be a consequence of the cleanup though I don't think so. I'm going to do another 18.1 build run with DELETE_OLD_ZIPS (and LOGS) set to 3 instead of 2, and see what happens. If there's no change then ???? |
With the re-run it is again like I wrote in a comment above:
|
Thanks. This is caused by our I'll go and learn a bit more about how |
OK I've made some changes to the For the February build run will keep this change, and keep |
All the 20.0 devices built so far in the February 24 build run now have 2 builds present :) |
Except for devices which were successfully built for the first time ( To ensure we keep two builds available for these devices (and any devices which get built for the first time in future build runs, we should change out |
There is another exception, pdx203 and pdx206 that had been disabled since July were enabled again during last month, and rebuild for the first time in February. They now have three images: https://download.lineage.microg.org/pdx203/ and https://download.lineage.microg.org/pdx206/. |
OK the idea of keeping only two builds, and deleting builds for devices which are no longer supported is too simplistic. Please see new issue 'Build retention strategy #573' for a strategy which is more flexible, and more friendly for devices which are no longer officially supported by LOS I'd be very interested in your comments there. (I'll close this issue now) |
The free disk space numbers after the February build run, with two builds stored per device
The figures include the new |
We are currently using 99% of the available disk space on the download server (554GB used, 6.2GB free, out of 590GB). This caused a couple of problems with the latest build run, where copying of some files from build server to download server failed due to lack of disk space (see #505 and had to be completed manually after some unneeded files were removed.
The lack of space is party due to the fact we now publish loads of .img files in addition to the main ROM zip files and recovery images - see #405 & #467.
Zipping up these images (see #483) caused the 'Update recovery` function of the Updater to fail (see #487), so was reverted - See PR #490.
Adding more disk space is problematic for a number of reasons. So I plan to reduce the number of builds we make avaiable from three for each device to two (by setting
DELETE_OLD_ZIPS=2
in thedocker run
command). Unless there are any strong objections, I will do this for the next build run which starts early Friday morning. If anyone has any concerns about this, please let me know before then.The text was updated successfully, but these errors were encountered: