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
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. release-blocker
Milestone

Comments

@bradfitz
Copy link
Contributor

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 bradfitz added NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. release-blocker labels Jan 31, 2019
@bradfitz bradfitz added this to the Go1.12 milestone Jan 31, 2019
@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Jan 31, 2019
@bradfitz
Copy link
Contributor Author

Running two builds now.

@bradfitz
Copy link
Contributor Author

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

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

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

@gopherbot
Copy link

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.
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. release-blocker
Projects
None yet
Development

No branches or pull requests

3 participants