Skip to content

Instantly share code, notes, and snippets.

@pojntfx
Last active March 31, 2023 08:42
Show Gist options
  • Save pojntfx/5e7d8294862fcc0f27c9d7f5ea6ccf25 to your computer and use it in GitHub Desktop.
Save pojntfx/5e7d8294862fcc0f27c9d7f5ea6ccf25 to your computer and use it in GitHub Desktop.
Build Hydrapp App Locally
#!/bin/bash
export PGP_KEY='xYYEY/joexYJKwYBBAHaRw8BAQdARHr/44/Ffh67FAIsEaGPshOl0LunFYj9obfzQ3t7qvj+CQMIot9wYQpbDbBgsK9ofCTEo5cXmMpMIIpKLquyVV0rDt2zKBUQ/Sqw3cs0fjJ41R3ySvHHXa72/pMn4b6bqa01nupsK5v6eyg1sOTb5Z8agc0wSHlkcmFwcCBMb2NhbCBEZXZlbG9wbWVudCBLZXkgPGFzZGZAZXhhbXBsZS5jb20+wowEExYIAD4FAmP46HsJkO4cY4AZDrxoFiEECJf9BmcRlvE6iLhw7hxjgBkOvGgCGwMCHgECGQEDCwkHAhUIAxYAAgIiAQAAlJ0BAMZcpLwdRL2vcmmEt4WQgXb8XIc84Jo9igytCX2uY/lNAQD+CP/srGWMHN36JdKIhiPO/NZBvES5IedEhdVDOZEGC8eLBGP46HsSCisGAQQBl1UBBQEBB0Ag4OP/KbAsy2n4rzf6mQSXg4Ew8DDeuroxBjhIL/IxeQMBCgn+CQMIH70+x0tNRpBgoPd0TlXZCYrD0fwgAosZrWvi0cb2j2eOcPxOYtZAxTTO4Kip5ZwGB4t2ffKvP9t0trk0bCLkGSnFTjEj6SXe+9ugpiBSb8J4BBgWCAAqBQJj+Oh7CZDuHGOAGQ68aBYhBAiX/QZnEZbxOoi4cO4cY4AZDrxoAhsMAAC2YQEAq1rDBw6Pc4qGF/G9j1rmbsFbSrYLTUKZUc7ViPPF+5YA/RX79F8e/0p07sByX0JPZMXL7yCxniN92DtnmH4d4ikF'
export PGP_PASSWORD='asdf'
export PGP_ID='190EBC68'
export APK_CERT='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'
export APK_STOREPASS='asdf'
export APK_KEYPASS='asdf'
echo "${PGP_KEY}" | base64 -d >'/tmp/pgp.asc'
echo "${APK_CERT}" | base64 -d >'/tmp/keystore.jks'
export BRANCH_ID="main" BRANCH_NAME="Main"
# Adjust `exclude` to build what you want, this excludes `binaries` so it builds the binaries
# When building in-tree, use `go run ./hydrapp build`
# Use `--config='./hydrapp.yaml'` and `--dst="${PWD}/out"` for building an app that's not in a nested folder
# Use `--pull='false'` to use your locally built images
sudo rm -rf out && hydrapp build \
--config='./hydrapp-example-forms/hydrapp.yaml' \
--exclude='deb|dmg|flatpak|msi|rpm|apk|tests' \
--pull=true \
--tag='main' \
--dst="${PWD}/out/hydrapp-example-forms" \
--src="${PWD}" \
--pgp-key='/tmp/pgp.asc' \
--pgp-password="${PGP_PASSWORD}" \
--pgp-id="${PGP_ID}" \
--apk-cert='/tmp/keystore.jks' \
--apk-storepass="${APK_STOREPASS}" \
--apk-keypass="${APK_KEYPASS}" \
--concurrency="$(nproc)" \
--branch-id="${BRANCH_ID}" \
--branch-name="${BRANCH_NAME}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment