- Secure tests on master branch after merge.
- Improve build cache hit rates
Due to security reason, github only allow reuse cache from
- same branch
- base branch
- default branch
Branch Feature-A could not reuse the cache from Feature-B
- Developers could run the workflow in their own forked repo
before make the PR, this could relieve the runners on upstream repo
While Mix is not the main build tool, we remove the commited
`mix.lock` file to reduce friction when updating dependencies, since
it requires remembering to run `mix deps.get` to update the
`mix.lock`, used by a CI check in
`scripts/check-elixir-deps-discrepancies.exs`. We change said script
to produce the required file on the fly.