Closed wlandau closed 4 months ago
The log shows that there are packages without releases or tags, but those ones do not take down the whole job. I think arrow may have been the first one we tried with tags but no releases.
I wonder if we file an issue with r-universe: ask that “branch: *release” fail gracefully and still build the universe regardless of whether a tag exists.
There was also a bug where the update job would not error if the package did not have any release on github. I fixed that now so now your update job will correclty show an error :) (due to 5 other packages without any github release).
Thanks for your help, @jeroen.
Actually, would it be possible to ignore failing packages and build the universe anyway? r-releases
is so automated and will grow to be so large that I worry what will happen if the misspecification of a single package can bring down the entire universe.
One alternative I could see is to check for releases on my end when packages.json
is being generated in build_universe.yaml
. The only reason I have not done that yet is performance: this universe aims to grow to 20000+ packages, and checking for a release in all of them could require 20000+ GitHub API calls.
Thanks for your help, @jeroen.
Actually, would it be possible to ignore failing packages and build the universe anyway?
r-releases
is so automated and will grow to be so large that I worry what will happen if the misspecification of a single package can bring down the entire universe.
It already works that way. The workflow will try to update all packages in the universe, it won't stop if one package fails. But it will set the CI run to failed if the package.json
refers to a branch (or *release) that does not exist.
Ah, got it! So the universe will build anyway, and then GitHub Actions will report that the check failed? This is actually perfect because it allows me to know when I should ask individual package maintainers to create releases.
yes exactly.
Awesome! I am going to test this by adding arrow
again...
rprojroot
and arrow
are now both in https://github.com/r-releases/r-releases.r-universe.dev/blob/main/packages.json. If the next universe update adds rprojroot
to https://r-releases.r-universe.dev/builds despite the presence of arrow
in packages.json
, then the test passes.
Test passed: rprojroot
is now part of r-releases
.
I tried to add arrow, which has tags, but apparently it broke the universe build because a release didn’t exist: https://github.com/r-universe/r-releases/actions/runs/8127177735/job/22211728431. I wonder at what level we can/should check for this.