Skip to content

Document build process + reproducible builds#74

Closed
regulad wants to merge 2 commits intomarkqvist:mainfrom
regulad:feature/reproducable-builds
Closed

Document build process + reproducible builds#74
regulad wants to merge 2 commits intomarkqvist:mainfrom
regulad:feature/reproducable-builds

Conversation

@regulad
Copy link
Copy Markdown

@regulad regulad commented Mar 3, 2025

Hello. This is my work so far to make the build process of Sideband easier to unravel, as I spent a lot of time getting a build working and I'm sure new contributers would very much value an easier "turn-key" development solution. A proper reporducible build will also qualify the app for inclusion in repositories like IzzyOnDroid and F-Droid.

I will convert this draft to a full PR when the following documentation is completed:

  • Get the build running
  • Document how to build Android
  • Document how to build native
  • Document creation of dist_archive
  • GitHub actions reproducable build
  • Docker container for dev building

If you believe you can help, please reach out to me at @regulad:regulad.xyz on Matrix or make a PR to my branch. Cheers!

@regulad
Copy link
Copy Markdown
Author

regulad commented Mar 3, 2025

Supersedes #30 & #53

@regulad regulad force-pushed the feature/reproducable-builds branch from 02069b3 to e470095 Compare March 14, 2025 00:55
@regulad
Copy link
Copy Markdown
Author

regulad commented Mar 14, 2025

This is now finished! Here is a list of all changes made:

  • Add a DEVELOPING.md file showing how to setup a development environment
  • Add ./dmake script and Dockerfile for building Sideband on any system, and for easily running make commands in the docker container (complete with caching, so no time is wasted!)
  • Get Android building for x86 and x86_64
  • Add make target for creating dist_archive and deterministic injection of assets into the Android project (prebaking is mostly unneccesary now! it still is in this repository for future use)
  • Add framework for native Java code and XML assets being added to the Android project in P4A's reccomended way
  • Add GitHub Actions workflow that runs on all commits to check to see if it compiles with P4A (basically a super-fancy linter, since it generates a new signing key on each commit)

(The workflow also handles all caching properly, and could in the future be changed to use a persistant signing key for automatic CD via GitHub releases to your F-Droid repository!)

Ubuntu documentation

docker attempt

perfect 4-architecture building

dist_archive building

Test GitHub actions

Test GitHub actions

Test GitHub actions

Test GitHub actions

Test GitHub actions

Test GitHub actions

Test GitHub actions

properly implemented caching
@regulad regulad force-pushed the feature/reproducable-builds branch from b8d3f5d to cb8bb75 Compare March 14, 2025 01:53
@regulad regulad marked this pull request as ready for review March 14, 2025 01:53
@regulad regulad changed the title Document build process + reproducable builds Document build process + reproducible builds Mar 14, 2025
@markqvist
Copy link
Copy Markdown
Owner

Thanks @regulad! This is looking great. I'm currently preparing the 1.5.0 release of Sideband, and want to get that out of the way before trying this out. I'll have a look as soon as I can, but schedule is very tight right now, so please arm yourself with some patience. I really appreciate your work here!

@regulad
Copy link
Copy Markdown
Author

regulad commented Mar 21, 2025

Good to hear. If any conflicts with master show up, I'll be sure to reconcile them!

@regulad
Copy link
Copy Markdown
Author

regulad commented Jun 23, 2025

Had the chance to check this out yet? I'm currently working on implementing a BLE transport with BlueZ, and would like to move onto Android once I'm done there.

@Jonty
Copy link
Copy Markdown

Jonty commented Aug 27, 2025

I'm looking to hack on Sideband and would love to see this merged so it doesn't bitrot - is there anything I can do to help review it and make this happen?

@Erethon
Copy link
Copy Markdown

Erethon commented Aug 29, 2025

I'm interested in reviewing this as it will be helpful for NixOS/nixpkgs#421656, but it will have to wait for after the middle of September. Either way, we have to wait for Mark to be back for this to be merged.

@regulad
Copy link
Copy Markdown
Author

regulad commented Dec 6, 2025

With Columbia out, I see no need to continue rebasing this. These build changes primarily apply to Sideband for Android.

@regulad regulad closed this Dec 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants