ci: sample the snap build monthly, not only when somebody edits it - #590
Closed
PathGao wants to merge 1 commit into
Closed
ci: sample the snap build monthly, not only when somebody edits it#590PathGao wants to merge 1 commit into
PathGao wants to merge 1 commit into
Conversation
test_snap.yml is path-filtered to snapcraft.yaml, so it catches us breaking the snap build and cannot catch snapcraft breaking it. The second is what happened. The Snap Store served 2.6.11 for three months and six versions because `snap install snapcraft --classic` went 8.14.5 -> 9.0.1 between two releases, and the 9.x rust plugin refused a snapcraft.yaml nobody had touched. No commit here was involved, so no path filter could ever have fired. The workflow added today would have watched that happen. Once a month is the sampling rate for a tool that changes on its own timetable. The pack is ~6 minutes now that it repackages the release's .deb instead of compiling it, so twelve runs a year is not a budget question -- the point is that a snapcraft 10 lands on a scheduled run rather than on a release. A scheduled failure reaches whoever GitHub notifies rather than a pull request, which is worse than red CI and much better than a green release. If that stops being read, the fix is to make it louder, not to delete it: the alternative is already on the record. Asserted as "there is a schedule" rather than as a particular cron -- how often is a judgement, having any sampling at all is not. Checked by mutation: removing the schedule fails it. 983 pass.
Collaborator
Author
|
Closing with Dependabot (#600): scheduled and automated dependency work is being taken out, and version updates go back to being manual. The gap it named is unchanged and worth writing down rather than losing. Whoever hits that shape again: this is what a schedule was for. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
test_snap.ymlis path-filtered tosnapcraft.yaml, so it catches us breaking the snap build. It cannot catch snapcraft breaking it — and that is the failure that actually happened.The Snap Store served 2.6.11 for three months and six versions.
snap install snapcraft --classicinstalls whatever the store serves that day; it went from 8.14.5 to 9.0.1 between two releases, and the 9.x rust plugin refused asnapcraft.yamlnobody had touched.No commit here was involved, so no path filter could ever have fired. The workflow added today would have watched it happen and said nothing.
The change
Once a month is the sampling rate for a tool that changes on its own timetable rather than on ours. The pack is ~6 minutes now that #579 made it repackage the release's
.debinstead of compiling — twelve runs a year is not a budget question. The point is that a snapcraft 10 lands on a scheduled run rather than on a release.What it costs to be honest about
A scheduled failure reaches whoever GitHub notifies for scheduled workflows, not a pull request author. That is worse than red CI and much better than a green release. If it stops being read, the fix is to make it louder rather than to delete it — the alternative is already on the record, above.
Scheduled runs only fire on the default branch, which is the right target:
master'ssnapcraft.yamlis what the next release will use.Tests
Asserted as "there is a schedule", not as a particular cron — how often is a judgement, having any sampling at all is not.
Checked by mutation; removing the
schedule:block fails it:npm test— 983 pass.Where this sits
This is the second of the two blind spots outside Dependabot's reach. Dependabot watches
package.json,Cargo.tomlanduses:; nothing watchesruns-on:,snap install snapcraft, orlinuxdeploy-plugin-gtk@master. #584 samples the third on every pull request that builds. This samples the second monthly. The first is manual and #583's assertion at least makes it all-or-nothing.🤖 Generated with Claude Code