Closed dolfinus closed 2 years ago
@karolsluszniak I've made few updates of this PR, could you please take a look?
Checked and fixed all the notes. This is an example how workflow has been executed on a forked repo: https://github.com/dolfinus/ex_check/actions/runs/726857793
I've fixed lines you've mentioned, here is a successful workflow run: https://github.com/dolfinus/ex_check/actions/runs/760671046
@karolsluszniak Any updates here?
@dolfinus Hey. Sorry for the delay. I wanted to merge and removed PLTs that were not needed as a final touch, triggering a build that came red from everything except Elixir 1.11... Looks like it needs another look.
Sorry, I'm not interested in this PR anymore. If you need these changes, you can pick them up to the master branch
Hello.
It looks like you have both Github Actions and TravisCI integrations enabled. Unfortunately, TravisCI integration with open source projects is now ruined because of new billing plan which limits the resources available to CI jobs. A lot of projects (like ecto, absinthe and so on) there moved to Github Actions because it has no such restictions and also it is available for every user of Github. So I propose to get rid of the TravisCI integration completely.
Also I have some improvement of the CI pipeline you have.
Firstly, there is an annoying fact about Github Actions - sometimes it runs actions twice. For example:
Running a workflow twice does not make any sense, it just takes twice the time without any useful side effect.
So in this PR I've also added a separated job of checking if another copy of workflow already started: https://github.com/fkirc/skip-duplicate-actions
This job allows to:
Secondly, I've found another quite annoying bug - step
actions/cache
does not update cache item if it was restored using a primary key. For example, some dependencies like dialyzer or other ones store their files indeps
or_build
folders (which are cached in the workflow). But when these dependencies perform some updates of these folders, it does not lead to the updating ofmix.lock
file. File hasn't been changed -> hash is the same -> cache primary key is the same -> caching action will not update the existing cache. This will cause the increase of workflow run time because the stored cache will not be used by some steps. Untilmix.lock
will be updated which will lead to updating the cache item. Here I've appended a commit SHA to the cache primary key, so it will always be updated. But it will not affect cache reading.What do you think about that?