I have managed to find a number of appcast urls during my trawling of casks but haven't added them yet as they were either:
I'm going to assume that anything that hasn't changed checkpoint in over a week is good and would like to add them.
I don't really want to do them all individually, but I'm concerned that a single failure when updating a lot of casks will make travis ci go mental.
What's the best way to perform the update? Any advice that you can give?
@colindunn roughly how many are we talking about here?
Maybe 20-30 @miccal. Might be a few more than that. I need to go through a lot manually because I didn't have this use-case in mind when I started storing the data :-)
I could always limit it to small runs?
@colindunn lets start doing it in small runs, 10 Casks at a time, and then when checked and merged you can add another run of 10.
Sound good?
No problem, I'll do that then @miccal
Leave the issue open and I'll note in each PR as I go?
Sure, thanks @colindunn.
I may have more than I suspect, first 10 doesn't make it out of A yet. We'll see how it goes with the first lot anyway @miccal
So I'm at 40 now and up to G. I've definitely underestimated how many I've collected.
I doubt I will get any more done today so will continue tomorrow.
@colindunn Can you please stop here for now, as I am starting to think that some of your appcast url's are not suitable.
Ping @caskroom/maintainers.
Thank you for your efforts so far though.
No problem @miccal happy to wait for further feedback
Here are the next 3 as well if it helps with review:
Regarding anything that is a html page/copy of a homepage, the majority of the checkpoints were collected before the new year, so those pages have survived date issue including page copyright updates so should be stable.
Possibly relevant (and references therein).
Something important about this.
When you add a github releases appcast, then the url should also be changed to get the package they provide in that releases page. That makes it more consistent, since they are updated at exactly the same time, leads to less errors.
The (rare) exception is when a github releases appcast exists but they don鈥檛 share compiled packages there.
Don鈥檛 worry about those already merged, I鈥檒l take care of them. Warning so we don鈥檛 duplicate work. Just keep it in mind for the next PRs.
Sorry about that @vitorgalvao, I should have looked more carefully before I merged them.
Would you like me to give you a hand?
Sorry about that @vitorgalvao, I should have looked more carefully before I merged them.
Not to worry. It鈥檚 another of those unwritten rules.
Would you like me to give you a hand?
No need, thank you. Almost done. They鈥檙e relatively few and most of them are the exception, actually, so they鈥檙e good as they are.
So you guys are happy for me to proceed with what I'm doing here and the appcast urls I'm finding @vitorgalvao @miccal ?
Aside from changing the github links where possible
@colindunn Yes, go for it. Appcasts are always welcome. I鈥檇 eventually (not near future, since it鈥檚 quite a big task) like to setup a system to make the cask files themselves auto-update, and that depends on them having appcasts.
I underestimated how many of these I have very badly it seems, I now have about 110 and still going.
Out of interest, what do people do when an appcast gets updated but there isn't a release becase either:
I am noting the new appcast checkpoint but not updating the cask and ignoring it until it changes again, but what is the method used by others or the recommended path?
@colindunn In those cases, do not worry, you can just leave it as is.
We had at one point a semi-automated system I built, but scraped it. I鈥檝e learned a lot when it was in use and will make a new one that fixes the previous flaws. In that semi-automated system, the checkpoint: will also be updated in those cases, but otherwise, don鈥檛 go out of your way to do it, it isn鈥檛 worth it. The appcast is for specific use of those systems.
How are you finding so many, by the way? Are you just going through them all and looking for it?
I have very rough script for going through all the casks in random order and then recording what I find. I manually choose what I think would work (in some cases the html page is obviously static, or I actually find a json call etc) and then I record the checkpoint along with it plus the date added. If it survives a few checks then it looks good.
I've collected a fair bit of data with all this cask trawling. Once I have these appcasts in I will create another issue to show how I'm keeping track of casks where I can't find appcast values to start a discussion around how that might be integrated if it's useful.
I can continue with the tool and/or share it, but I'd prefer to use the collected data to feed back in to the project rather than have a separate tool.
This is fantastic work - when I added appcasts, they were generally a manual process (record traffic with Charles)
It's still definitely manual @adidalal it's just the recording of the checkpoint and date added that's helping here. I'm up to 130 now, shouldn't be many more than that. Very sorry about the gross underestimation @miccal !
No problem @colindunn your efforts here a greatly appreciated by myself and I am sure of all the maintainers.
173 total. Just waiting for the last one to pass and the remaining to be merged and I'll close the issue
Fantastic work @colindunn!
Happy to help :-)
Most helpful comment
173 total. Just waiting for the last one to pass and the remaining to be merged and I'll close the issue