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

Reproducible builds for static binaries #12791

Open
AskAlexSharov opened this issue Nov 20, 2024 · 0 comments
Open

Reproducible builds for static binaries #12791

AskAlexSharov opened this issue Nov 20, 2024 · 0 comments
Labels
devops imp2 Medium importance

Comments

@AskAlexSharov
Copy link
Collaborator

We already have this feature in Makefile and CI:

      - name: Reproducible build test
        run: |
          make erigon
          shasum -a256 ./build/bin/erigon > erigon1.sha256
          make erigon
          shasum -a256 ./build/bin/erigon > erigon2.sha256
          if ! cmp -s erigon1.sha256 erigon2.sha256; then
            echo >&2 "Reproducible build broken"; cat erigon1.sha256; cat erigon2.sha256; exit 1
          fi

But now we have new release binaries pipeline. Need add reproducibility test.

If it will not work out of the box - let's try this flags set -tags=nosqlite,noboltdb,nosilkworm,osusergo,netgo -ldflags="-w -s -extldflags='-static' -buildid="

There is also https://github.com/ethereum/go-ethereum/issues/28987 - but seems it's for non-static binaries.

After this task is done: need identify our future strategy on Makefile .ps1 files. How much logic to keep there and how much logic to keep in .yml. Because github's .yml devs can't run locally.

@AskAlexSharov AskAlexSharov added imp2 Medium importance devops labels Nov 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
devops imp2 Medium importance
Projects
None yet
Development

No branches or pull requests

1 participant