The fedora job usually completes within 15-16 minutes,
and the centos-7 one needs 7-8 minutes.
Set the timeouts to twice those values.
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Github Actions execution environments lack tty, which is needed for
integration tests. We have used script utility before to provide a fake
tty, but it appears to be buggy on CentOS 7.
Since we use ssh anyway to access Vagant VM, add -tt to forcefully
allocate a tty.
Apparently, neither "TERM=xterm" nor "stty size" is needed for
any tests to work, so remove those, too.
Finally, unit tests do not need a terminal, so remove the "script"
from those.
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
This check (for commit subject being short) only make sense for pull
requests, and it fails on pushes to master (i.e. on merges).
Make sure it's only run for pull requests.
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
It currently takes close to 2 minutes to build docker image
(which is currently only used for cross compilation).
Let's see if caching docker layers will help.
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Note that `make ci` in Travis included `make test`, but we're already
doing that elsewhere (see .github/workflows/test.yml).
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
In here we have to use Docker, as Ubuntu does not support
all the architectures we're compile-testing here.
Since this is the only step that is using Docker,
there is no sense to separate `make runcimage` from
the rest of it. In case we'll have to use Docker image
more, it will make sense to do so.
While at it, ditch script/tmpmount (added by commit 1735ad788f),
because
- it required root (because mount);
- it is probably no longer needed.
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
This is Ubuntu 20.04 so cgroup v1 testing only :(
The upside is, it's pretty fast (currently all the tests finish
within 5 minutes).
rootless tests take longer time so we run them in parallel
with non-rootless ones. Also, to balance the time, we run
unit tests when rootless is not set. IOW, 'rootless' in job
name means it's only rootless integration tests, and no rootless
means it's unit tests, integration tests with fs driver, and
integration tests with systemd driver.
Note, `script` is used to run integration tests to provide a tty
(which by default is not available on gh actions).
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Note that
1. No golang caching is required, since we do not build any go code,
and it does not look like it make sense to cache a single binary
we donwload from github.
2. Use a problem matcher, so the PRs will be annotated with
shellcheck warnings.
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>