Build fails when running 'make all'

Summary

When running 'make all', the s390x builds fail with the error 'panic: reflect: indirection through nil pointer to embedded struct'.

Steps to reproduce

  • Run 'make all' and it errors out:
go get github.com/mitchellh/gox
# Building gitlab-runner in version 13.4.0~beta.38.ga746bb62 for -osarch 'darwin/amd64' -os 'linux' -os 'freebsd' -os 'windows' -arch '386' -arch 'arm' -arch 'amd64' -arch 'arm64' -arch 's390x'
gox -osarch 'darwin/amd64' -os 'linux' -os 'freebsd' -os 'windows' -arch '386' -arch 'arm' -arch 'amd64' -arch 'arm64' -arch 's390x' \
	   -ldflags "-X gitlab.com/gitlab-org/gitlab-runner/common.NAME=gitlab-runner -X gitlab.com/gitlab-org/gitlab-runner/common.VERSION=13.4.0~beta.38.ga746bb62 -X gitlab.com/gitlab-org/gitlab-runner/common.REVISION=a746bb62 -X gitlab.com/gitlab-org/gitlab-runner/common.BUILT=2020-08-24T11:31:32+0000 -X gitlab.com/gitlab-org/gitlab-runner/common.BRANCH=master -s -w" \
	   -output="out/binaries/gitlab-runner-{{.OS}}-{{.Arch}}" \
	   gitlab.com/gitlab-org/gitlab-runner
Number of parallel builds: 4

-->   windows/amd64: gitlab.com/gitlab-org/gitlab-runner
-->    darwin/amd64: gitlab.com/gitlab-org/gitlab-runner
-->       linux/arm: gitlab.com/gitlab-org/gitlab-runner
-->     freebsd/arm: gitlab.com/gitlab-org/gitlab-runner
-->       linux/386: gitlab.com/gitlab-org/gitlab-runner
-->   freebsd/amd64: gitlab.com/gitlab-org/gitlab-runner
-->     linux/amd64: gitlab.com/gitlab-org/gitlab-runner
-->     windows/386: gitlab.com/gitlab-org/gitlab-runner
-->     freebsd/386: gitlab.com/gitlab-org/gitlab-runner
gox -osarch=windows/amd64 -ldflags "-X gitlab.com/gitlab-org/gitlab-runner/common.NAME=gitlab-runner -X gitlab.com/gitlab-org/gitlab-runner/common.VERSION=13.4.0~beta.38.ga746bb62 -X gitlab.com/gitlab-org/gitlab-runner/common.REVISION=a746bb62 -X gitlab.com/gitlab-org/gitlab-runner/common.BUILT=2020-08-24T11:31:32+0000 -X gitlab.com/gitlab-org/gitlab-runner/common.BRANCH=master -s -w" -output=out/binaries/gitlab-runner-helper/gitlab-runner-helper.x86_64-windows gitlab.com/gitlab-org/gitlab-runner/apps/gitlab-runner-helper
Number of parallel builds: 4

-->   windows/amd64: gitlab.com/gitlab-org/gitlab-runner/apps/gitlab-runner-helper
gox -osarch=linux/amd64 -ldflags "-X gitlab.com/gitlab-org/gitlab-runner/common.NAME=gitlab-runner -X gitlab.com/gitlab-org/gitlab-runner/common.VERSION=13.4.0~beta.38.ga746bb62 -X gitlab.com/gitlab-org/gitlab-runner/common.REVISION=a746bb62 -X gitlab.com/gitlab-org/gitlab-runner/common.BUILT=2020-08-24T11:31:32+0000 -X gitlab.com/gitlab-org/gitlab-runner/common.BRANCH=master -s -w" -output=out/binaries/gitlab-runner-helper/gitlab-runner-helper.x86_64 gitlab.com/gitlab-org/gitlab-runner/apps/gitlab-runner-helper
Number of parallel builds: 4

-->     linux/amd64: gitlab.com/gitlab-org/gitlab-runner/apps/gitlab-runner-helper
gox -osarch=linux/arm -ldflags "-X gitlab.com/gitlab-org/gitlab-runner/common.NAME=gitlab-runner -X gitlab.com/gitlab-org/gitlab-runner/common.VERSION=13.4.0~beta.38.ga746bb62 -X gitlab.com/gitlab-org/gitlab-runner/common.REVISION=a746bb62 -X gitlab.com/gitlab-org/gitlab-runner/common.BUILT=2020-08-24T11:31:32+0000 -X gitlab.com/gitlab-org/gitlab-runner/common.BRANCH=master -s -w" -output=out/binaries/gitlab-runner-helper/gitlab-runner-helper.arm gitlab.com/gitlab-org/gitlab-runner/apps/gitlab-runner-helper
Number of parallel builds: 4

-->       linux/arm: gitlab.com/gitlab-org/gitlab-runner/apps/gitlab-runner-helper
gox -osarch=linux/arm64 -ldflags "-X gitlab.com/gitlab-org/gitlab-runner/common.NAME=gitlab-runner -X gitlab.com/gitlab-org/gitlab-runner/common.VERSION=13.4.0~beta.38.ga746bb62 -X gitlab.com/gitlab-org/gitlab-runner/common.REVISION=a746bb62 -X gitlab.com/gitlab-org/gitlab-runner/common.BUILT=2020-08-24T11:31:32+0000 -X gitlab.com/gitlab-org/gitlab-runner/common.BRANCH=master -s -w" -output=out/binaries/gitlab-runner-helper/gitlab-runner-helper.arm64 gitlab.com/gitlab-org/gitlab-runner/apps/gitlab-runner-helper
Number of parallel builds: 4

gox -osarch=linux/s390x -ldflags "-X gitlab.com/gitlab-org/gitlab-runner/common.NAME=gitlab-runner -X gitlab.com/gitlab-org/gitlab-runner/common.VERSION=13.4.0~beta.38.ga746bb62 -X gitlab.com/gitlab-org/gitlab-runner/common.REVISION=a746bb62 -X gitlab.com/gitlab-org/gitlab-runner/common.BUILT=2020-08-24T11:31:32+0000 -X gitlab.com/gitlab-org/gitlab-runner/common.BRANCH=master -s -w" -output=out/binaries/gitlab-runner-helper/gitlab-runner-helper.s390x gitlab.com/gitlab-org/gitlab-runner/apps/gitlab-runner-helper
Number of parallel builds: 4

panic: reflect: indirection through nil pointer to embedded struct [recovered]
	panic: reflect: indirection through nil pointer to embedded struct

goroutine 1 [running]:
text/template.errRecover(0xc0004e1320)
	/usr/local/go/src/text/template/exec.go:170 +0x1b5
panic(0x55981dd044e0, 0x55981e05a890)
	/usr/local/go/src/runtime/panic.go:679 +0x1b6
reflect.Value.FieldByIndex(0x55981dee92e0, 0xc00030df40, 0x99, 0xc0001956c0, 0x2, 0x2, 0x0, 0x55981e117480, 0x55981dcf7860)
	/usr/local/go/src/reflect/value.go:876 +0x39e
text/template.(*state).evalField(0xc0004e12a0, 0x55981dee92e0, 0xc00030df40, 0x99, 0x7ffd414713ee, 0x11, 0x55981e0e64c0, 0xc0002b5860, 0xc0004e0c80, 0x1, ...)
	/usr/local/go/src/text/template/exec.go:605 +0x475
text/template.(*state).evalFieldChain(0xc0004e12a0, 0x55981dee92e0, 0xc00030df40, 0x99, 0x55981dee92e0, 0xc00030df40, 0x99, 0x55981e0e64c0, 0xc0002b5860, 0xc0003dd7b0, ...)
	/usr/local/go/src/text/template/exec.go:558 +0x222
text/template.(*state).evalFieldNode(0xc0004e12a0, 0x55981dee92e0, 0xc00030df40, 0x99, 0xc0002b5860, 0xc0004e0c80, 0x1, 0x1, 0x55981ddb7c60, 0x55981effbdf8, ...)
	/usr/local/go/src/text/template/exec.go:522 +0x115
text/template.(*state).evalArg(0xc0004e12a0, 0x55981dee92e0, 0xc00030df40, 0x99, 0x55981e117480, 0x55981dd7cc20, 0x55981e0e64c0, 0xc0002b5860, 0xc0004e1040, 0x55981c734bc5, ...)
	/usr/local/go/src/text/template/exec.go:791 +0xed7
text/template.(*state).evalCall(0xc0004e12a0, 0x55981dee92e0, 0xc00030df40, 0x99, 0x55981dd35580, 0x55981e04c5c0, 0x13, 0x55981e0e6440, 0xc0002b5800, 0x7ffd414713e8, ...)
	/usr/local/go/src/text/template/exec.go:688 +0x282
text/template.(*state).evalFunction(0xc0004e12a0, 0x55981dee92e0, 0xc00030df40, 0x99, 0xc0002b5830, 0x55981e0e6440, 0xc0002b5800, 0xc000221180, 0x2, 0x2, ...)
	/usr/local/go/src/text/template/exec.go:568 +0x171
text/template.(*state).evalCommand(0xc0004e12a0, 0x55981dee92e0, 0xc00030df40, 0x99, 0xc0002b5800, 0x55981ddb7c60, 0x55981effbdf8, 0x99, 0xd0, 0x55981dec0f60, ...)
	/usr/local/go/src/text/template/exec.go:465 +0x660
text/template.(*state).evalPipeline(0xc0004e12a0, 0x55981dee92e0, 0xc00030df40, 0x99, 0xc00009f2c0, 0xc0002c3138, 0xc0004a4340, 0xc0004e1158)
	/usr/local/go/src/text/template/exec.go:434 +0x11c
text/template.(*state).walk(0xc0004e12a0, 0x55981dee92e0, 0xc00030df40, 0x99, 0x55981e0e6340, 0xc0002b5890)
	/usr/local/go/src/text/template/exec.go:258 +0x49d
text/template.(*state).walk(0xc0004e12a0, 0x55981dee92e0, 0xc00030df40, 0x99, 0x55981e0e6580, 0xc0002b57d0)
	/usr/local/go/src/text/template/exec.go:266 +0x144
text/template.(*Template).execute(0xc00030dec0, 0x55981e07e080, 0xc0002dd0e0, 0x55981dee92e0, 0xc00030df40, 0x0, 0x0)
	/usr/local/go/src/text/template/exec.go:221 +0x20c
text/template.(*Template).Execute(...)
	/usr/local/go/src/text/template/exec.go:204
github.com/docker/cli/cli/command/system.formatInfo(0x55981e112340, 0xc000394540, 0x0, 0xc0003dd5d0, 0x1, 0x1, 0xc00030de00, 0x0, 0x0, 0x0, ...)
	/go/src/github.com/docker/cli/cli/command/system/info.go:478 +0x1f5
github.com/docker/cli/cli/command/system.runInfo(0xc0001c0780, 0x55981e112340, 0xc000394540, 0xc0003dceb0, 0x0, 0x0)
	/go/src/github.com/docker/cli/cli/command/system/info.go:85 +0x343
github.com/docker/cli/cli/command/system.NewInfoCommand.func1(0xc0001c0780, 0xc000220b40, 0x0, 0x2, 0x0, 0x0)
	/go/src/github.com/docker/cli/cli/command/system/info.go:52 +0x48
github.com/docker/cli/vendor/github.com/spf13/cobra.(*Command).execute(0xc0001c0780, 0xc0002b46d0, 0x2, 0x2, 0xc0001c0780, 0xc0002b46d0)
	/go/src/github.com/docker/cli/vendor/github.com/spf13/cobra/command.go:762 +0x462
github.com/docker/cli/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc0002c7900, 0xc0002b46c0, 0x3, 0x3)
	/go/src/github.com/docker/cli/vendor/github.com/spf13/cobra/command.go:852 +0x2ec
github.com/docker/cli/vendor/github.com/spf13/cobra.(*Command).Execute(...)
	/go/src/github.com/docker/cli/vendor/github.com/spf13/cobra/command.go:800
main.runDocker(0xc000394540, 0x55981e0805a0, 0xc000010020)
	/go/src/github.com/docker/cli/cmd/docker/docker.go:281 +0x1d3
main.main()
	/go/src/github.com/docker/cli/cmd/docker/docker.go:292 +0xf3
make: *** [Makefile.runner_helper.mk:75: out/helper-images/prebuilt-x86_64.tar] Error 2

Actual behavior

Build fails

Expected behavior

Expect the s390x executable to be built. As a side note, I'm interested in getting the RPM build to work for all architectures so that I can do a RPM build for ppc64le.

Relevant logs and/or screenshots

See output above.

Environment description

Tested on Fedora 32 and Ubuntu 20.04.

Used GitLab Runner version

Using the master branch and the v13.3.0 tag.

Edited by Brian Masney