Closed maxsnew closed 1 year ago
On my fork I'm attempting to set up some CI based on what is currently used in Cubical
This seems like it'll work well if I can get the caching to reliably work
A few questions
Right now, whatever code the user pushes will be on the desired branch. If it passes all the tests you get a green check, if it fails a red X.
I think there are rules that can be added to enforce that you must pass all the tests before the code change is accepted. I currently don't have any of these, but I was asking if we want this sort of functionality on either PRs or when pushing to a branch?
This could be somewhat "safer" but might be a little annoying/overkill. In any case, I think I can get the non-rejecting version of this setup on main later today
there may be opportunities for better caching, but cloning from github takes ~30s-1min for cubical + stdlib, so this isn't prohibitively slow. But if agda itself isn't cached, it'll take around 20 minutes. If it is cached, the run takes 3-5 minutes
we still need to fix some line lengths, and there is existing non-compiling code on main. Over the next few days, we can gradually fix these and move the broken code into development branches.
At this moment, I'm unsure which files still have lines that are too long but I'm finding them one at a time with
find . -type f -name "*.agda" -print0 | xargs -0 awk 'length($0) > 80 { print FILENAME ":" FNR ": line too long"; exit 1 }'
and the files that do not compile are
Multicategory.Planar
Categories.Monad.Strength.Cartesian
Categories.Constructions.Product.Fin
Categories.Constructions.Free.Profunctor
Categories.Constructions.Free.Functor.Uniqueness
Categories.Constructions.Graph
Categories.Constructions.Comma
Categories.Constructions.CoGraph
Categories.Limits.AsRepresentable.Cone
Categories.DistributiveLaw.ComonadOverMonad.BiKleisli
Categories.Profunctor.Morphism
We can find these by reading the output of make test-and-report
which compiles all files and lists which failed.
This is NOW finally set up. Sorry for the PR spam
Will close this issue when there is finally a green checkmark after fixing the above
Finally passing checks on my fork. So I'm pushing the changes to line lengths/commenting out broken code
I think that the CI can be more efficient, but I'm having some issues correctly caching the agdai files
Things that would be nice to have: