Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/build/cmd/release: verify that releases with & without all.bash tests produce same results #30028

Closed
bradfitz opened this issue Jan 31, 2019 · 5 comments

Comments

@bradfitz
Copy link
Contributor

@bradfitz bradfitz commented Jan 31, 2019

I recall hearing speculation that cmd/release produces different release tarballs/zips when we run it in all.bash-vs-make.bash modes.

Check that before release. (And fix if necessary, such that the releases are the smaller of the two: probably make.bash, if all.bash leaves misc buildmode *.a/artifacts around)

/cc @bcmills @ianlancetaylor @dmitshur @katiehockman @andybons

@bradfitz
Copy link
Contributor Author

@bradfitz bradfitz commented Jan 31, 2019

Running two builds now.

@bradfitz
Copy link
Contributor Author

@bradfitz bradfitz commented Jan 31, 2019

Yeah, 6MB bigger if you run tests...

bradfitz@gdev:~/src/golang.org/x/build/cmd/release$ ls -lh go1.12test*
-rw-r--r-- 1 bradfitz bradfitz 128M Jan 31 03:50 go1.12test1.linux-amd64.tar.gz
-rw-r--r-- 1 bradfitz bradfitz 122M Jan 31 03:56 go1.12test2.linux-amd64.tar.gz

bradfitz@gdev:~/src/golang.org/x/build/cmd/release$ diff -u test2 test1 
--- test2       2019-01-31 05:14:36.310253827 +0000 
+++ test1       2019-01-31 05:14:30.021743091 +0000 
@@ -987,6 +987,31 @@ 
 go/pkg/linux_amd64/unicode/utf16.a 
 go/pkg/linux_amd64/unicode/utf8.a 
 go/pkg/linux_amd64/unicode.a 
+go/pkg/linux_amd64_dynlink/ 
+go/pkg/linux_amd64_dynlink/errors.a
+go/pkg/linux_amd64_dynlink/internal/
+go/pkg/linux_amd64_dynlink/internal/bytealg.a
+go/pkg/linux_amd64_dynlink/internal/cpu.a
+go/pkg/linux_amd64_dynlink/internal/race.a
+go/pkg/linux_amd64_dynlink/math/
+go/pkg/linux_amd64_dynlink/math/bits.a
+go/pkg/linux_amd64_dynlink/math.a
+go/pkg/linux_amd64_dynlink/reflect.a
+go/pkg/linux_amd64_dynlink/runtime/
+go/pkg/linux_amd64_dynlink/runtime/cgo.a
+go/pkg/linux_amd64_dynlink/runtime/internal/
+go/pkg/linux_amd64_dynlink/runtime/internal/atomic.a
+go/pkg/linux_amd64_dynlink/runtime/internal/math.a
+go/pkg/linux_amd64_dynlink/runtime/internal/sys.a
+go/pkg/linux_amd64_dynlink/runtime.a
+go/pkg/linux_amd64_dynlink/strconv.a
+go/pkg/linux_amd64_dynlink/sync/
+go/pkg/linux_amd64_dynlink/sync/atomic.a
+go/pkg/linux_amd64_dynlink/sync.a
+go/pkg/linux_amd64_dynlink/syscall.a
+go/pkg/linux_amd64_dynlink/unicode/
+go/pkg/linux_amd64_dynlink/unicode/utf8.a
+go/pkg/linux_amd64_dynlink/unicode.a
 go/pkg/linux_amd64_race/
 go/pkg/linux_amd64_race/archive/
 go/pkg/linux_amd64_race/archive/tar.a
@@ -1236,6 +1261,59 @@
 go/pkg/linux_amd64_race/unicode/utf16.a
 go/pkg/linux_amd64_race/unicode/utf8.a
 go/pkg/linux_amd64_race/unicode.a
+go/pkg/linux_amd64_shared/
+go/pkg/linux_amd64_shared/errors.a
+go/pkg/linux_amd64_shared/fmt.a
+go/pkg/linux_amd64_shared/internal/
+go/pkg/linux_amd64_shared/internal/bytealg.a
+go/pkg/linux_amd64_shared/internal/cpu.a
+go/pkg/linux_amd64_shared/internal/fmtsort.a
+go/pkg/linux_amd64_shared/internal/poll.a
+go/pkg/linux_amd64_shared/internal/race.a
+go/pkg/linux_amd64_shared/internal/syscall/
+go/pkg/linux_amd64_shared/internal/syscall/unix.a
+go/pkg/linux_amd64_shared/internal/testlog.a
+go/pkg/linux_amd64_shared/io.a
+go/pkg/linux_amd64_shared/math/
+go/pkg/linux_amd64_shared/math/bits.a
+go/pkg/linux_amd64_shared/math.a
+go/pkg/linux_amd64_shared/os.a
+go/pkg/linux_amd64_shared/reflect.a
+go/pkg/linux_amd64_shared/runtime/
+go/pkg/linux_amd64_shared/runtime/cgo.a
+go/pkg/linux_amd64_shared/runtime/internal/
+go/pkg/linux_amd64_shared/runtime/internal/atomic.a
+go/pkg/linux_amd64_shared/runtime/internal/math.a
+go/pkg/linux_amd64_shared/runtime/internal/sys.a
+go/pkg/linux_amd64_shared/runtime.a
+go/pkg/linux_amd64_shared/sort.a
+go/pkg/linux_amd64_shared/strconv.a
+go/pkg/linux_amd64_shared/sync/
+go/pkg/linux_amd64_shared/sync/atomic.a
+go/pkg/linux_amd64_shared/sync.a
+go/pkg/linux_amd64_shared/syscall.a
+go/pkg/linux_amd64_shared/time.a
+go/pkg/linux_amd64_shared/unicode/
+go/pkg/linux_amd64_shared/unicode/utf8.a
+go/pkg/linux_amd64_shared/unicode.a
+go/pkg/linux_amd64_testcshared_shared/
+go/pkg/linux_amd64_testcshared_shared/errors.a
+go/pkg/linux_amd64_testcshared_shared/internal/
+go/pkg/linux_amd64_testcshared_shared/internal/bytealg.a
+go/pkg/linux_amd64_testcshared_shared/internal/cpu.a
+go/pkg/linux_amd64_testcshared_shared/internal/race.a
+go/pkg/linux_amd64_testcshared_shared/runtime/
+go/pkg/linux_amd64_testcshared_shared/runtime/cgo.a
+go/pkg/linux_amd64_testcshared_shared/runtime/internal/
+go/pkg/linux_amd64_testcshared_shared/runtime/internal/atomic.a
+go/pkg/linux_amd64_testcshared_shared/runtime/internal/math.a
+go/pkg/linux_amd64_testcshared_shared/runtime/internal/sys.a
+go/pkg/linux_amd64_testcshared_shared/runtime.a
+go/pkg/linux_amd64_testcshared_shared/sync/
+go/pkg/linux_amd64_testcshared_shared/sync/atomic.a
+go/pkg/linux_amd64_testcshared_shared/sync.a
+go/pkg/linux_amd64_testcshared_shared/syscall.a
+go/pkg/linux_amd64_testcshared_shared/time.a
 go/pkg/tool/
 go/pkg/tool/linux_amd64/
 go/pkg/tool/linux_amd64/addr2line

@ianlancetaylor, I assume it's fine if we prune all those before tarring things up? They'll just be built lazily when needed.

And I assume go/pkg/linux_amd64_testcshared_shared/**/*.a will never be needed and is only for tests.

@ianlancetaylor
Copy link
Contributor

@ianlancetaylor ianlancetaylor commented Jan 31, 2019

Yes, those directories can be removed before tarring up the release.

Of course we shouldn't be creating them in the first place.

@bradfitz
Copy link
Contributor Author

@bradfitz bradfitz commented Jan 31, 2019

You mean tests should clean up after themselves when those get created implicitly?

@gopherbot
Copy link

@gopherbot gopherbot commented Jan 31, 2019

Change https://golang.org/cl/160660 mentions this issue: cmd/release: clean $GOROOT/pkg/GOOS_GOARCH_{dynlink,shared,testcshared_shared}

@golang golang locked and limited conversation to collaborators Feb 1, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.