Skip to content

Add static musl binaries to Releases - #60

Open
jsarenik wants to merge 1 commit into
stevenroose:masterfrom
jsarenik:master
Open

Add static musl binaries to Releases#60
jsarenik wants to merge 1 commit into
stevenroose:masterfrom
jsarenik:master

Conversation

@jsarenik

Copy link
Copy Markdown

Trial and error but it works for me now.

HTH

https://github.com/jsarenik/hal/releases

Screenshot_20260620-102504 Termux Screenshot_20260620-102512 Termux

@jsarenik

jsarenik commented Jun 21, 2026

Copy link
Copy Markdown
Author

6dcd1bf is final and signed 😇
And ready to merge 🤠

From Google AI

build aarch64 rust binary from git repository

...

Is there any freely available 3rd party service (like gitpod.com in the past) that would produce the final binary for me?https://github.com/jsarenik/hal
I'll be happy to add anything needed to the repository to make GitHub do it. Help me please.

Update AArch64 build workflow for version tagging

Yes. To Releases please

Update workflow for static AArch64 binary build

Make the binary statically built for musl-aarch64 please.

Update GitHub Actions workflow for ARM64 build

Added a step to patch the jobserver dependency for compatibility and modified the build command to allow for the updated patch.

Update actions/checkout from v4 to v5
Upgrade action-gh-release from v2 to v3

Release a few resulting binaries
@jsarenik

Copy link
Copy Markdown
Author

The second part is https://share.google/aimode/x2xMVeamJgxaYHQA4

@jsarenik

Copy link
Copy Markdown
Author

Part 3 from Copilot:

I would like commit 148dd7f to be signed. How to do that?


You can see from the commit details that the verification status shows "verified": false. You cannot directly re-sign an existing commit — Git commits are immutable, and their signature is part of their cryptographic hash. However, here are your options:

Option 1: Amend the Commit and Re-sign (Recommended)

If the commit is on a branch you control and hasn't been pushed to a shared repository, you can amend and re-sign it:

git commit --amend -S

This will:

  • Open your editor to confirm the commit message
  • Sign the commit with your GPG key
  • Create a new commit hash

Then force-push (if needed):

git push --force-with-lease

Option 2: Create a Signed Commit on Top

If you want to keep the original commit as-is, create a new signed commit:

git commit --allow-empty -m "Sign previous commit" -S
git push

Prerequisites for Signing

Make sure you have:

  1. GPG installed and configured:

    gpg --list-secret-keys
  2. Git configured to use GPG:

    git config --global user.signingkey YOUR_GPG_KEY_ID
    git config --global commit.gpgsign true  # Auto-sign all commits
  3. GPG key added to GitHub — Go to GitHub Settings → SSH and GPG keys and add your public GPG key.

Note: If this commit has already been pushed and merged into a shared branch, re-signing would require rewriting history, which isn't recommended for shared branches.

Would you like help setting up GPG signing for future commits?


I have my private key on OpenKeychain Android app but would like to sign in git inside Termux. How?


You'll need to bridge GPG between OpenKeychain and Termux. Here's how:

Setup GPG in Termux with OpenKeychain

1. Install GPG and Required Tools in Termux

pkg install gnupg

2. Install OpenKeychain Integration

Install openpgp-card-support or use the GnuPG over OpenKeychain bridge:

pkg install gpg-agent

3. Configure Termux to Use OpenKeychain's GPG Socket

The key is to use OpenKeychain's IPC socket. Add this to your ~/.gnupg/gpg-agent.conf:

# Create the config if it doesn't exist
mkdir -p ~/.gnupg
cat >> ~/.gnupg/gpg-agent.conf << 'EOF'
pinentry-program /system/bin/pinentry-gnupg
EOF

4. Import Your Key (or Use OpenKeychain Directly)

Option A: Export key from OpenKeychain and import to Termux

  • In OpenKeychain, export your private key
  • Transfer it to Termux (via Syncthing, adb, or shared storage)
  • Import in Termux:
    gpg --import your-private-key.asc

Option B: Use OpenKeychain's GPG provider directly
Some apps like Termux:GPG extension allow direct integration, but this is less common.

5. Configure Git to Sign with GPG

# Get your key ID from OpenKeychain
gpg --list-secret-keys

# Configure Git
git config --global user.signingkey YOUR_KEY_ID
git config --global commit.gpgsign true

6. Test Signing

cd /path/to/your/repo
git commit --amend -S

Alternative: Use SSH Signing (Simpler)

If OpenKeychain integration is complex, Git now supports SSH signing (Git 2.34+), which might be easier:

# Generate SSH key in Termux or import from storage
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519

# Configure Git for SSH signing
git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_ed25519.pub
git config --global commit.gpgsign true

# Add your SSH public key to GitHub (not as a deploy key, but as a signing key)

Troubleshooting

If you hit permission issues:

chmod 700 ~/.gnupg
chmod 600 ~/.gnupg/*

If GPG agent won't start:

gpgconf --kill gpg-agent
gpg-agent --daemon

What approach would you prefer — GPG with OpenKeychain or SSH signing? SSH signing is typically simpler in Termux.


OK. I did the alternative using SSH. The commit still shows as unverified on GitHub. How to fix that?


To get your SSH-signed commits to show as verified on GitHub, you need to add your SSH public key to GitHub as a signing key (not a deploy key).

Here's how:

1. Get Your Public Key

cat ~/.ssh/id_ed25519.pub

Copy the entire output (starts with ssh-ed25519).

2. Add It to GitHub as a Signing Key

  1. Go to GitHub SettingsSSH and GPG keys
  2. Click New SSH key
  3. Select key type: Signing Key (this is crucial — not "Authentication Key")
  4. Paste your public key
  5. Give it a name and click Add SSH key

3. Verify Your Git Configuration

Make sure these are set correctly:

git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_ed25519.pub
git config --global commit.gpgsign true

4. Amend and Re-sign the Commit

cd /path/to/jsarenik/hal
git commit --amend -S --no-edit
git push --force-with-lease

5. Check Verification

The commit should now show a Verified badge on GitHub (may take a moment to refresh).


Common Issues

The key type matters! Make sure you added it as a "Signing Key" in GitHub, not an "Authentication Key" or "Deploy key".

Still not showing as verified?

  • Check that the email in your Git config matches your GitHub email
  • Verify the key fingerprint matches what's in GitHub settings
  • Wait a few minutes and refresh the page

Try amending the commit now—does it show as verified?

@jsarenik jsarenik changed the title Add aarch64 static musl binary to Releases Add static musl binaries to Releases Jun 21, 2026
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.

1 participant