diff --git a/.github/workflows/reproducible-build.yml b/.github/workflows/reproducible-build.yml new file mode 100644 index 0000000000..1991f6e6c0 --- /dev/null +++ b/.github/workflows/reproducible-build.yml @@ -0,0 +1,36 @@ +name: reproducible-build + +on: + workflow_dispatch: {} + schedule: + - cron: "0 1 */2 * *" + +jobs: + build: + name: build reproducible binaries + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: rui314/setup-mold@v1 + - uses: dtolnay/rust-toolchain@stable + with: + target: x86_64-unknown-linux-gnu + - name: Install cross main + id: cross_main + run: | + cargo install cross --git https://github.com/cross-rs/cross + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + - name: Build Reth + run: | + make build-reproducible + mv target/x86_64-unknown-linux-gnu/release/reth reth-build-1 + - name: Clean cache + run: make clean && cargo cache -a + - name: Build Reth again + run: | + make build-reproducible + mv target/x86_64-unknown-linux-gnu/release/reth reth-build-2 + - name: Compare binaries + run: cmp reth-build-1 reth-build-2