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

vcs.modified=true on downloadable artefacts #30324

Closed
holiman opened this issue Aug 19, 2024 · 4 comments · Fixed by #30325
Closed

vcs.modified=true on downloadable artefacts #30324

holiman opened this issue Aug 19, 2024 · 4 comments · Fixed by #30325
Labels

Comments

@holiman
Copy link
Contributor

holiman commented Aug 19, 2024

Discovered by @vivi365

Downloading the official binaries, it seems that only the first (geth-linux-amd64) is built with a 'clean' vcs. Later on, the buildinfo reports that the filesystem is modified, thus to some degree tainting the builds.

[user@work tmp]$ strings geth-linux-amd64-1.14.8-a9523b64/geth | grep "vcs.modified="
build	vcs.modified=false
build	vcs.modified=false
[user@work tmp]$ strings geth-linux-arm6-1.14.8-a9523b64/geth | grep "vcs.modified="
build	vcs.modified=true
build	vcs.modified=true
[user@work tmp]$ strings geth-linux-386-1.14.8-a9523b64/geth | grep "vcs.modified="
build	vcs.modified=true
build	vcs.modified=true

This is probably due to binaries being added to build/bin. It's not correct behaviour, and it makes reproducible builds (for other than geth-linux-amd64) harder to achieve.

@holiman
Copy link
Contributor Author

holiman commented Aug 19, 2024

Can't quite repro it locally:

user@debian-work:~/workspace/go-ethereum$ git status .
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

user@debian-work:~/workspace/go-ethereum$ go run build/ci.go install -dlgo
...
user@debian-work:~/workspace/go-ethereum$ git status .
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

user@debian-work:~/workspace/go-ethereum$ go run build/ci.go archive -type tar 
...
user@debian-work:~/workspace/go-ethereum$ git status .
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

@vivi365
Copy link

vivi365 commented Aug 19, 2024

Right, since /build/bin is untracked it should not affect the vcs.modified field

Here go sets vcs.modified to Uncommitted

Which is set through git log here

@holiman
Copy link
Contributor Author

holiman commented Aug 19, 2024

Found it

ser@debian-work:~/workspace/go-ethereum$ go run build/ci.go archive -type tar 
geth-linux-amd64-1.14.9-unstable-8486722d.tar.gz
   + COPYING
   + geth
geth-alltools-linux-amd64-1.14.9-unstable-8486722d.tar.gz
   + COPYING
   + abigen
   + bootnode
   + evm
   + geth
   + rlpdump
   + clef
user@debian-work:~/workspace/go-ethereum$ git status 
On branch master
Your branch is up to date with 'origin/master'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	geth-alltools-linux-amd64-1.14.9-unstable-8486722d.tar.gz
	geth-linux-amd64-1.14.9-unstable-8486722d.tar.gz

nothing added to commit but untracked files present (use "git add" to track)

I must've been too fast first time I tried (used different consoles, maybe one was in the wrong repo. Weird) . So it's the upload-bundler which creates some artefacts in the repo root.

@holiman
Copy link
Contributor Author

holiman commented Aug 19, 2024

We should be able to verify this tomorrow, iirc we do nightly uploads of the latest head. Good catch @vivi365 !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants