-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
F-Droid can't build #11754
Comments
Yes. The problem is that some Enums are not desugared correctly: diff1.html.zip. We probably need to update the desugaring libs, any other ideas? |
Have you tried simply building with OpenJDK 21? The rbtlog rebuild 4 days ago was perfectly fine, no sign of any desugaring problems. Edit: RB now confirmed by two builders: https://apt.izzysoft.de/fdroid/index/apk/org.schabi.newpipe |
I created a CI to build the APK in a known environment, so we won't be having such issues again: #11765. The unsigned APK built by https://github.com/Stypox/NewPipe/actions/runs/12096387804 using JDK 17 is exactly equal to the one built by |
Please don't replace existing APKs or tags, it's considered bad practice. As @IzzySoft always puts it: "One shouldn't replace what has already be distributed", which is why we always ask for a "maintenance release" instead. There should never be two non-identical versions (with different hashes) of the same release, even if there are no functional differences. That only creates confusion, breaks anything using the old hash for validation, and in case of RB would also invalidate any existing RB confirmations from rebuilders. |
That makes a lot of sense, we've published v0.27.4 now. Thank you for your patience once again! |
@Stypox so your APKs are again using JDK-21 starting with v0.27.4? Then I'd run a manual update on my builder to avoid a double-run (delaying RB result publication) later. |
No, they will be using JDK 17, that's what you asked for right? The original APK for 0.27.3 was built by me with the JDK 21 shipped with Android Studio, and it was not reproducible with respect to the one built by the F-Droid bot (which afaik uses JDK 17 (?)). Building with temurin JDK 17 according to the workflow in https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/workflows/build-release-apk.yml leads to an unsigned APK for 0.27.3 which is exactly the same as the one built by the F-Droid bot. |
|
No, I didn't ask for JDK-17 – obfusk and I reported our builders had no issues building it with JDK-21. Our builders are quite flexible, and can easily use JDKs 11, 17 or 21 where needed (we stick to those "stable versions", though, and e.g. do not use 18 or 22) – or switch between building on Debian bookworm/bullseye and Ubuntu jammy/noble as well. @licaon-kter do you really need JDK-17, or could you switch to JDK-21 as well? If I'm not mistaken, you're glued to bookworm currently which does not have JDK-21 – but I occasionally see you "frankensteining" in DEBs from other distributions: 45 apps at F-Droid are using JDK-21 if I counted correctly. We can easily go back to 17 if you need that (and if it's OK with the NewPipe team, which one day might need to upgrade to JDK-21). We should just all agree on what it should be; switching back-and-forth would cause "constant trouble" for all involved. TL;DR: At IzzyOnDroid, we're fine with either 17 or 21. You just need to tell us which it should be from now on. So it's rather between you @Stypox and @licaon-kter to agree on a JDK version.
That is a very good point, @Stypox: that workflow is public, and folks use it for orientation (I do look for such workflows when setting up new recipes). So maybe sticking with 17 for the time being is the best choice. I'll prepare our recipe for that then ASAP, before the next cycle here kicks in (runs every 24h). |
FYI: the other CI workflow uses 21, not 17: NewPipe/.github/workflows/ci.yml Line 53 in 3847b32
NewPipe/.github/workflows/ci.yml Line 127 in 3847b32
|
|
We usually see this type of differences between 17 and 21: https://f-droid.org/docs/Reproducible_Builds/#mismatched-toolchains so this diff did not lean in that direction As said above, we can use 21 too @Stypox up to you and the team what you use, we'll amend the recipe as needed /LE: verified and merged in https://gitlab.com/fdroid/fdroiddata/-/merge_requests/17177 |
Great, thank you! Ok then, let's agree on using JDK 21 from now on @licaon-kter @IzzySoft. I will change our CI and our documentation to make sure we stick to that version in the future. |
So I guess we need to add something like this to the metadata of our next f-droid builds (taken from the metadata of another app): sudo:
- echo "deb http://deb.debian.org/debian trixie main" > /etc/apt/sources.list.d/trixie.list
- apt-get update
- apt-get install -y -t trixie openjdk-21-jdk-headless
- update-java-alternatives -a
|
@TobiGr yup |
Checklist
Affected version
0.27.3
Steps to reproduce the bug
ref: https://gitlab.com/fdroid/fdroiddata/-/merge_requests/17014
was the APK built from d298a12 ?
Expected behavior
No response
Actual behavior
No response
Screenshots/Screen recordings
No response
Logs
diff log: newp1000.log
Affected Android/Custom ROM version
No response
Affected device model
No response
Additional information
No response
The text was updated successfully, but these errors were encountered: