"Dependency change" triggering unexpected hourly rebuilds on build.snapcraft.io


#1

One of our snaps appears to be getting rebuilt every hour due to a “dependency change”. I understand from Further automation of build.snapcraft.io that this should in theory be happening whenever there’s an update to any of the git sources involved - but no such updates are (to my knowledge) taking place currently. What’s more, this behavior seems to have started in the last couple of days, where again no changes were made that lead to it.

Any ideas what may be causing this?

The snapcraft.yaml file used is https://github.com/ammpio/ammp-app-snap/blob/master/snapcraft.yaml and the build page is at https://build.snapcraft.io/user/ammpio/ammp-app-snap. The snapcraft.yaml file lists a single GitLab repo as a source, which has not had any changes made for weeks.


#2

This continues to happen every hour. It’s making it quite hard to keep track of what’s an actual new release, and what is simply the result of the spurious hourly rebuild/release. Would appreciate any insights into what’s leading to this behavior?


#3

I don’t know why this is happening, it looks like poller.js is what triggers the build. I wonder if something has changed on the github end which makes the api calls trigger more often than they used to?

This sounds like a bug which should be tracked on github.

An alternative option, if build.snapcraft.io isn’t working out, and if it’s not immediately possible to get the bug fixed, you could switch to building in launchpad. In case you weren’t aware, the launchpad builders are actually the backend to build.snapcraft.io. It’s possible to manually create a project and setup a recipe there which can sync from your github repo, then build when upstream changes in the same way as build.snapcraft.io - but with a little more control. Just a workaround for now, but I know some projects use launchpad directly when they outgrow build.snapcraft.io.


#4

Thanks! I’ll see if Launchpad would be appropriate in this case. I do like how straightforward it is to use build.snapcraft.io though (thanks guys for making it available!), so given the choice would rather stick with that.

Given that the repo/snap in question is not one that is frequently updated, I’ve simply removed it from my build list for now, and will just re-add it next time I need to build.


#5

I’d be interested to know if re-adding it still shows the problem, or if that ‘clears’ it.


#6

Yes I had a similar thought early on. Deleting and re-adding didn’t help at the time.

My hypothesis is that the inclusion of a Gitlab repo with token access is somehow causing this. When I have a minute I’ll try removing that and seeing if it makes a difference.