Closed Bug 881369 Opened 11 years ago Closed 10 years ago

Automatically delete obsolete latest-* builds for calendar

Categories

(Release Engineering :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: Fallen, Assigned: Fallen)

References

Details

Attachments

(4 files)

There seems to be a script that removes obsolete Thunderbird nightly builds from latest-comm-central and latest-comm-aurora. Now that Lightning is being run from the Thunderbird build infra and the user is tbirdbld instead of calbld, I cannot remove these files manually.

Please extend that script to also remove all obsolete lightning- and gdata-provider- builds in:

http://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/latest-comm-central/

and

http://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/nightly/latest-comm-aurora/
The following folder should be considered too:
https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/tinderbox-builds/

Nightly builds are already archived therefore it seems redundant to me to keep every hourly build too.
Could someone confirm that this is the appropriate Bugzilla product/component for this request or move it to the correct product/component or add the right people that could decide this to CC?
I don't know if RelEng has access to do this, or if we manage other calendar stuff on FTP. John, do you know?
Flags: needinfo?(jhopkins)
These end up owned by tbirdbld on disk, so cleanup should live under the tbirdbld cron job. These are in SVN and are modifiable by RelEng; there is a doc on how to get started at https://wiki.mozilla.org/ReleaseEngineering/How_To/Modify_scripts_on_stage. You want the files/cron/tbirdbld. 

jhopkins has managed this cron before (although maybe not in this location), or I can take a look at this once we get to Q3.
Flags: needinfo?(jhopkins)
Product: mozilla.org → Release Engineering
Q3 has already finished, did you took a look as promised?
I hope Q3 isn't finished just yet, but no I haven't had a look. Where can the version of gdata-provider files be found in the source repo ? The script looks up version in the hg repo.
The version of gdata-provider is automatically calculated from the Lightning version using the script calendar/providers/gdata/makeversion.py
Note also I am pushing towards making the Lightning version also be auto-calculated, bug 940402
After some IRC discussion: John will be removing the old files once manually, afterwards I will fix bug 940402, then you can set things up to use Lightning's new makeversion.py to figure out the version number to remove. The same goes for gdata.
bug 940402 has landed, can we make this happen now? What needs to be done and who can do it?
Nick, what else is needed to make this work? The scripts to calculate the version numbers for the gdata provider and lightning is available now:

http://mxr.mozilla.org/comm-central/source/calendar/lightning/build/makeversion.py
http://mxr.mozilla.org/comm-central/source/calendar/providers/gdata/makeversion.py
Flags: needinfo?(nthomas)
Sorry this has sat this has sat for so long, but it isn't a high priority bug compared to others on my plate. I'll to try provide enough information so that you can determine the way forward.

tbirdbld has a number of crons, here's one example:
cd /pub/mozilla.org/thunderbird/nightly/latest-comm-central && /usr/bin/python ~/trim-nightlies.py https://hg.mozilla.org/comm-central/raw-file/default/mail/config/version.txt | sh

I've attached the python script trim-nightlies.py here. You can see it's expecting files to be named thunderbird-*, and to be able to get the version from a file checked into the tree. Piping to shell is ... very odd.

The could be modified somehow, or we could just use a sledgehammer like
  find .../lightning/nightly/latest-* -mtime +3
Flags: needinfo?(nthomas)
Do you want this to be a new script, or do you want it integrated with the existing trim-nightlies.py? This version acts as a new script. I've taken over the weird bash piping from the Thunderbird script, but I am happy to remove it if you like.

Alternatively, I can combine the two scripts and use python to remove the files instead.

Let me know what you think.
Assignee: nobody → philipp
Status: NEW → ASSIGNED
Attachment #8461460 - Flags: feedback?(nthomas)
They look sufficiently divergent that I'm happy to go with separate scripts. I would point out that if the the versioning ever changes in the build system, then it is very likely that the script will get out of date. If you're OK with that I can get this into puppet.
Attachment #8461460 - Flags: feedback?(nthomas) → feedback+
I'm fine with that, I don't think the versioning for Lightning will change any time soon. The gdata provider might actually jump a few versions in the next few months, but then we can still push a change to this script.

Do you want this in a repository? I have [1] for the update.php script on calendar.mozilla.org, but I am not sure if the script to update that file on the webserver (see /data/genericrhel6/src/calendar.mozilla.org/update on genericrhel6) copies the whole repository or just the file. 

Aside from that, go ahead and put this on puppet for central and aurora.


[1] http://hg.mozilla.org/users/mozilla_kewis.ch/calendar-buildconfig/
Flags: needinfo?(nthomas)
This has to go into a private svn repository for puppet, so I'll take care of it.
Flags: needinfo?(nthomas)
Attachment #8461253 - Attachment description: trim-nightlies.py → trim-nightlies.py (thunderbird)
Attachment #8461460 - Attachment description: trim-nightlies.py → trim-nightlies.py (lightning)
* this adds the two scripts on this bug. We currently use ~tbirdbld/trim-nightlies.py and I'm just committing it as-is at /usr/local/bin/trim-thunderbird-nightlies.py; the other is Fallen's mod of that for lightning
* tweak the thunderbird jobs to combine the existing ones for each branch, and extend to include latest*-l10n/*/xpi
* add the matching jobs for lightning, slightly different because it has platform subdirectories in the latest-*-l10n dirs, rather than flat plus platform dirs for xpis
Attachment #8466867 - Flags: review?(bugspam.Callek)
Comment on attachment 8466867 [details] [diff] [review]
[svn] Lightning cleanup

Review of attachment 8466867 [details] [diff] [review]:
-----------------------------------------------------------------

stamp
Attachment #8466867 - Flags: review?(bugspam.Callek) → review+
Comment on attachment 8466867 [details] [diff] [review]
[svn] Lightning cleanup

Committed revision 91428
Attachment #8466867 - Flags: checked-in+
Fallen, I did some spot checks on this and it appears to have landed cleanly. It should run for the first time in a few minutes, could you check that it's working as you expected ?

In retrospect every hour is probably over the top, once or a few times a day should be fine. There's also a related issue with the esr branches, which don't pick up new versions landing on default (for thunderbird at least); they keep building with an old version.
Flags: needinfo?(philipp)
I forgot about cron's PATH not including /usr/local/bin, so we got some cron mail about it not being able to find the trim-* scripts. Fixed with this and landed as revision 91429.

Puppet should have that deployed before the next set of jobs.
Attachment #8467405 - Flags: checked-in+
Seems to be working as expected, thanks a bunch!
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Flags: needinfo?(philipp)
Resolution: --- → FIXED
What about hourly builds as mentioned in comment 1? For example <https://ftp.mozilla.org/pub/mozilla.org/calendar/lightning/tinderbox-builds/comm-central-linux64/> seems to contain a copy of every build since November 2012. Similar for all the other builders there.
Lets have another bug for that please.
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: