Peter Bacsko created YUNIKORN-2874:
--------------------------------------

             Summary: Cannot generate reproducible builds during release
                 Key: YUNIKORN-2874
                 URL: https://issues.apache.org/jira/browse/YUNIKORN-2874
             Project: Apache YuniKorn
          Issue Type: Bug
          Components: release
            Reporter: Peter Bacsko


When trying to release Yunikorn with REPRODUCIBLE_BUILDS=1 (default), then the 
following error occurs:
{noformat}
~/repos/yunikorn-release/staging/tmp/apache-yunikorn-1.6.0-src/k8shim$ make 
REPRODUCIBLE_BUILDS=1 scheduler
building binary for scheduler docker image
docker run -t --rm=true --volume 
"/home/bacskop/repos/yunikorn-release/staging/tmp/apache-yunikorn-1.6.0-src/k8shim/:/buildroot"
 "golang:1.22.1" sh -c "cd /buildroot && \
CGO_ENABLED=0 GOOS=linux GOARCH=\"amd64\" go build \
-a \
-o=build/bin/yunikorn-scheduler \
-trimpath \
-ldflags '-buildid= -extldflags \"-static\" -X 
github.com/apache/yunikorn-k8shim/pkg/conf.buildVersion=1.6.0 -X 
github.com/apache/yunikorn-k8shim/pkg/conf.buildDate=2024-09-10T08:26:23+00:00 
-X github.com/apache/yunikorn-k8shim/pkg/conf.isPluginVersion=false -X 
github.com/apache/yunikorn-k8shim/pkg/conf.goVersion=1.22.1 -X 
github.com/apache/yunikorn-k8shim/pkg/conf.arch=amd64 -X 
github.com/apache/yunikorn-k8shim/pkg/conf.coreSHA=a2d40c81fee104356f9e33120fd557a928f74f2b
 -X 
github.com/apache/yunikorn-k8shim/pkg/conf.siSHA=68e8c6cca28a743d797e7908b1225392dddda3a2
 -X 
github.com/apache/yunikorn-k8shim/pkg/conf.shimSHA=240aeb90951a30c677890b61b50f6bfcafb227b5'
 \
-tags netgo \
-installsuffix netgo \
./pkg/cmd/shim/"
go: downloading go.uber.org/zap v1.26.0
go: downloading k8s.io/api v0.31.0
...
go: downloading github.com/spf13/cobra v1.8.1
go: downloading golang.org/x/sync v0.8.0
go: downloading github.com/asaskevich/govalidator 
v0.0.0-20190424111038-f61b66f89f4a
pkg/cmd/shim/main.go:31:2: github.com/apache/[email protected]: 
replacement directory ../core/ does not exist
pkg/common/constants/constants.go:22:2: 
github.com/apache/[email protected]: replacement directory 
../scheduler-interface/ does not exist
pkg/locking/locking.go:26:2: github.com/apache/[email protected]: 
replacement directory ../core/ does not exist
pkg/common/test/schedulerapi_mock.go:25:2: 
github.com/apache/[email protected]: replacement directory 
../scheduler-interface/ does not exist
pkg/common/test/recoverable_apps_mock.go:25:2: 
github.com/apache/[email protected]: replacement directory 
../scheduler-interface/ does not exist
{noformat}
The problem is, we don't mount "../core" and "../scheduler-interface" during 
the release procedure.  This is slightly different from a normal build, because 
we use the "replace" directive in "go.mod", so the two extra directories are 
necessary.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to