This repository has been archived by the owner on Sep 10, 2023. It is now read-only.
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.
I was looking at the GitHub Workflow a bit and it seems that some elements are not so important for this project. This PR suggests to throw a bunch of stuff out 😄, for the following reasons
I'll start with the most disputable change.
Matrix
The matrix setup for multiple systems is nice for packages like Cairo.jl or Turing.jl to ensure that their package runs on Ubuntu / Windows / Mac and on different Julia versions. For this repository, I presume that most of the complexity is in getting the models to work. I think it is very unlikely that code will be written which happens to only work on Linux. Also, most users will probably just look at the code to get the big picture, and avoiding the matrix can simplify the Workflow file a lot. So, as long as the big picture is good, that is, the model works, then it should be good. Of course, the matrix can be added back at a later point if it is necessary.
Cache
In my experience, caches can cause quite some headaches because it can secretly contain quite some state. For example, the cache contains an old version of a package but the code assumes that a newer version is used. Also, it adds quite a few lines to the Workflow file. In this case, the cache has almost no benefit because I can't think of major artifacts being downloaded to
~/.julia/artifacts
. Most of the used packages are written in pure Julia.I've tested the cache change. The workflow still takes about 9 minutes on my forked repository.