Skip to content
This repository has been archived by the owner on Sep 10, 2023. It is now read-only.

Simplify CI #43

Merged
merged 3 commits into from
Dec 31, 2020
Merged

Simplify CI #43

merged 3 commits into from
Dec 31, 2020

Conversation

rikhuijzer
Copy link
Contributor

@rikhuijzer rikhuijzer commented Dec 31, 2020

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.

@rikhuijzer
Copy link
Contributor Author

rikhuijzer commented Dec 31, 2020

@goedman What are your thoughts on testing more models in CI? For public repositories, the number of build minutes on GitHub is free (https://discourse.julialang.org/t/ci-cd-without-travis-ci-org/52501/7). And the max job length is 6 hours according to the documentation... 😲

The reason that I'm asking is because I'm thinking about doing some more small rewrites like #41, and it would be nice then to have some CI which validates whether I'm not messing anything up

@goedman goedman merged commit 543a264 into StatisticalRethinkingJulia:master Dec 31, 2020
@goedman
Copy link
Member

goedman commented Dec 31, 2020

Absolutely, the only reason they are not tested that back then some models took more than an hour. I remember those jobs timed out because Travis didn't receive any updates.

I'm quite ok to give you write access to StatisticalRethinkingJulia if that makes your work easier.

@rikhuijzer
Copy link
Contributor Author

Thanks for the merges!

Okay, that is good to know. I think it should be possible and expect to have a proof of concept done in a few days.

I would appreciate that. It doesn't save very much time but can be convenient when spotting small mistakes and it would avoid me from having to always work via a fork.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants