cb6ba80f0f
This update changes the behaviour when following logs from an allocation, so that both stdout and stderr files streamed when the operator supplies the follow flag. The previous behaviour is held when all other flags and situations are provided. Co-authored-by: Luiz Aoqui <luiz@hashicorp.com> |
||
---|---|---|
.. | ||
ports.go | ||
README.md | ||
skip_non_root.go | ||
slow.go | ||
test-core.json |
CI (unit testing)
This README describes how the Core CI Tests Github Actions works, which provides Nomad with continuous integration unit testing.
Steps
-
When a branch is pushed, GHA triggers
.github/workflows/test-core.yaml
. -
The first job is
mods
which creates a pre-cache of Go modules.
- Only useful for the followup jobs on Linux runners
- Is keyed on
hash(go.sum)
, so a cache is re-used until deps are modified.
- The
checks
,test-api
,test-*
jobs are started.
- The checks job runs
make check
- The test job runs groups of tests, see below
3i. The check step also runs make missing
- Invokes
tools/missing
to scanci/test-cores.json
&& nomad source. - Fails the build if any packages in Nomad are not covered.
4a. The test-*
jobs are run.
- Configured as a matrix of "groups"; each group is a set of packages.
- The GHA invokes
test-nomad
with $GOTEST_GROUP for each group. - The makefile uses
tools/missing
to translate the group into packages - Package groups are configured in
ci/test-core.json
4b. The test-api
job is run.
- Because
api
is a submodule, invokation of test command is special. - The GHA invokes
test-nomad-module
with the name of the submodule.
- The
compile
jobs are run
- Waits on checks to complete first
- Runs on each of
linux
,macos
,windows