Uh oh!
There was an error while loading. Please reload this page.
GH-39214: [Java] Support reproducible build - #39215
Conversation
jbonofre
commented
Dec 13, 2023
@lidavidm let me check why GH Action is not happy 😃 |
lidavidm
commented
Dec 13, 2023
@github-actions crossbow submit java |
Revision: 502eb177c8265ff30879bd41db09380d6d52abe7 Submitted crossbow builds: ursacomputing/crossbow @ actions-b2f5994f24 |
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Can you provide some commands or steps for validating a reproducible build, such as in the Arrow Format module?
There was a problem hiding this comment.
When I tried these commands, it finished ok with or without any changes:
$ mvn clean install
$ mvn clean verify artifact:compare
...
[INFO] Saved info on build to /Users/dsusanibar/fork/arrow/java/format/target/arrow-format-15.0.0-SNAPSHOT.buildinfo
[INFO] Checking against reference build from central...
[INFO] Reference buildinfo file not found: it will be generated from downloaded reference artifacts
[INFO] Reference build java.version: 11 (from MANIFEST.MF Build-Jdk-Spec)
[INFO] Reference build os.name: Unix (from pom.properties newline)
[INFO] Minimal buildinfo generated from downloaded artifacts: /Users/dsusanibar/fork/arrow/java/format/target/reference/arrow-format-15.0.0-SNAPSHOT.buildinfo
[INFO] Reproducible Build output summary: 5 files ok
[INFO] Reproducible Build output comparison saved to /Users/dsusanibar/fork/arrow/java/format/target/arrow-format-15.0.0-SNAPSHOT.buildcompare
...
There was a problem hiding this comment.
You are right for the check: mvn clean install and then mvn clean verify artifact:compare do a check.
This PR ensures we have reproducible build, not meaning that some module are not ok already (AFAIR, flight and algorithm were not reproducible).
There was a problem hiding this comment.
You can also check with artifact:check-buildplan.
There was a problem hiding this comment.
What we might want is to add this to CI somewhere (or possibly the release verification process) so we can make sure it stays working.
There was a problem hiding this comment.
@lidavidm good idea. Let me check to add a workflow in GH actions.
jbonofre
commented
Dec 18, 2023
FYI, I'm resuming work on this PR:
|
lidavidm
commented
Dec 18, 2023
It might be best to add it to an existing workflow, or again, adding it to the release verification script even (what do you think @assignUser?) |
jbonofre
commented
Dec 18, 2023
@lidavidm it makes sense, I do like this. Thanks ! |
assignUser
commented
Dec 19, 2023
How exactly does this work, it compares the current build against a reference build? How does that work for dev versions? We do have binary verification scripts so it would make sense to add it there, that would automatically also run it. |
lidavidm
commented
Dec 19, 2023
https://maven.apache.org/plugins/maven-artifact-plugin/compare-mojo.html
So maybe we finally have a useful thing to do in the binary JAR verification step. |
jbonofre
commented
Dec 19, 2023
@lidavidm yup, it's what I plan to do (and I used while working on this PR 😄 ). First I will fix the failing checks (AMD64 Conda Integration Test, etc). |
jbonofre
commented
Dec 19, 2023
That's due to the Apache POM update. I will propose fix as part of this PR. |
lidavidm
commented
Dec 19, 2023
See #39279 |
a65906a to
fe22e18Comparelidavidm
commented
Jan 19, 2024
@github-actions crossbow submit java |
|
lidavidm
commented
Jan 19, 2024
Hmm well Archery doesn't like me but it seems CI still has a few issues even after a re-run. |
jbonofre
commented
Jan 19, 2024
@lidavidm yup, to be honest, I don't know why it's failing 😄 I will probably try on |
kou
commented
Jan 19, 2024
@assignUser Could you take a look at #39215 (comment) and #39215 (comment) ? #39610 is related. |
assignUser
commented
Jan 20, 2024
@kou hm weird asf membership is public for David so the bot should pick it up... if this keeps happening we may need to add a non gh api based method to identify committers (e.g. committer list, IIRC we have a yaml one around somehwere right?) |
lidavidm
commented
Jan 22, 2024
I fixed my membership after that. You may want to update the bot's error message to tell people what to do, I only knew because I happened to see someone else ask the same question in a private channel. |
jbonofre
commented
Jan 25, 2024
I'm rebasing and doing new tests on this one. |
35de715 to
4f4343fCompareCo-authored-by: Sutou Kouhei <kou@cozmixng.org>
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
…aven-assemly-plugin
lidavidm
commented
Mar 31, 2024
@github-actions crossbow submit java |
Revision: e6e5d16 Submitted crossbow builds: ursacomputing/crossbow @ actions-02510129a8 |
jbonofre
commented
Mar 31, 2024
@lidavidm as I'm back on Arrow, I'm resuming several PRs/works I have in progress 😄 Thanks ! |
vibhatha
commented
May 31, 2024
@jbonofre need any help here? |
jbonofre
commented
Jun 1, 2024
I can resume on this one yeah :) |
jbonofre
commented
Sep 3, 2024
I'm back on Arrow. I will rebase and retest this PR. |
kou
commented
Nov 27, 2024
We're moving |
Rationale for this change
This PR add reproducible builds support.
Are these changes tested?
I tested the builds are reproducible on
arrow-vector,arrow-memory, ... usingmvn clean verify artifact:compare.Are there any user-facing changes?
No