Cirrus: Implement podman automation 2.0

Reimplement CI-automation to remove accumulated technical-debt and
optimize workflow.  The task-dependency graph designed goal was to
shorten it's depth and increase width (i.e. more parallelism).  A
reduction in redundant building (and 3rd party module download) was
also realized by caching `$GOPATH` and `$GOCACHE` early on.  This
cache is then reused in favor of a fresh clone of the repository
(when possible).

Note: The system tests typically execute MUCH faster than the
integration tests.  However, contrary to a fail-fast/fail-early
principal, they are executed last.  This was implemented due to
debug-ability related concerns/preferences of the primary
(golang-centric) project developers.

Signed-off-by: Chris Evich <cevich@redhat.com>
This commit is contained in:
Chris Evich
2020-06-25 17:38:33 -04:00
parent b58980a43c
commit 2c9084e224
26 changed files with 1203 additions and 1811 deletions

View File

@@ -169,7 +169,13 @@ golangci-lint: .gopathok varlink_generate .install.golangci-lint
.PHONY: gofmt
gofmt: ## Verify the source code gofmt
find . -name '*.go' ! -path './vendor/*' -exec gofmt -s -w {} \+
find . -name '*.go' -type f \
-not \( \
-name '.golangci.yml' -o \
-name 'Makefile' -o \
-path './vendor/*' -prune -o \
-path './contrib/*' -prune \
\) -exec gofmt -d -e -s -w {} \+
git diff --exit-code
.PHONY: test/checkseccomp/checkseccomp