Skip to content

Github Action in our workflow

Stepan Henek edited this page Oct 11, 2019 · 2 revisions

Advantages

  • good integration with github
  • free for public repositories
  • free for private repositories during Beta phase (10,000 free minutes in team afterwards)
  • code sharing between CI (ability do define custom actions)
  • with some effort it is possible to run a custom docker container (only on Linux)
  • tests can be performed on macOS and Windows (but you can't run docker there)

Disadvantages

  • only a couple of base images
  • actions (the actual shared part of the CI code) can be written only in NodeJS or using a Docker container
  • IMHO not so well structured docs
  • still in beta phase (hopefully till the end of the November 2019)
  • downloading data from other private repositories

Rust projects

The problem is that some rust project dependencies and components (e.g. cargo audit) consumes a lot of compile time because they are not built in base image. This will postpone the actual CI results (you don't want to wait X hours for CI tests to finish) and will cost us valuable run time with private repos.

This can be bypassed by using a docker action (see this repository for details). So instead of compiling (e.g. cargo audit) a docker image with precompiled tools/libs/... is downloaded. For example it took cca 5 minutes to compile cargo audit while the docker image was downloaded within a minute.

Note that every repository which downloads data from other private repositories. Needs to have ssh_key secret set in github's UI.

Clone this wiki locally