new build system, 111 #14
5 changed files with 132 additions and 1 deletions
116
.github/workflows/deploy.yml
vendored
116
.github/workflows/deploy.yml
vendored
|
@ -1 +1,117 @@
|
||||||
|
name: Publish Assets
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [master]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build_arm64_aar:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: lbry/android-base:python39
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: hacky copy # docker image runs ~ as /root, but github actions uses ~=/github/home
|
||||||
|
run: |
|
||||||
|
cp -r /root/.buildozer ~/.buildozer/
|
||||||
|
- name: setup
|
||||||
|
run: |
|
||||||
|
export B_VERSION=$(cat $GITHUB_WORKSPACE/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+')
|
||||||
|
echo "NEXUS_SIGNING_KEYRING_FILE=$GITHUB_WORKSPACE/signing2.pgp" >> $GITHUB_ENV
|
||||||
|
echo "BUILD_VERSION=${B_VERSION}" >> $GITHUB_ENV
|
||||||
|
export PATH=/usr/bin:$PATH
|
||||||
|
wget -q 'https://eu.crystax.net/download/crystax-ndk-10.3.2-linux-x86_64.tar.xz' -P ~/.buildozer/android/
|
||||||
|
tar -xf ~/.buildozer/android/crystax-ndk-10.3.2-linux-x86_64.tar.xz -C ~/.buildozer/android/
|
||||||
|
rm -rf ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-9
|
||||||
|
ln -s ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-21 ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-9
|
||||||
|
cp -f $GITHUB_WORKSPACE/scripts/build-target-python.sh ~/.buildozer/android/crystax-ndk-10.3.2/build/tools/build-target-python.sh
|
||||||
|
cp -f $GITHUB_WORKSPACE/scripts/mangled-glibc-syscalls__arm64.h ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-21/arch-arm64/usr/include/crystax/bionic/libc/include/sys/mangled-glibc-syscalls.h
|
||||||
|
cp -f $GITHUB_WORKSPACE/scripts/build-binary.mk ~/.buildozer/android/crystax-ndk-10.3.2/build/core/build-binary.mk
|
||||||
|
rm -rf ~/.buildozer/android/crystax-ndk-10.3.2/sources/sqlite
|
||||||
|
cp -Rf $GITHUB_WORKSPACE/scripts/crystax-sources/sqlite ~/.buildozer/android/crystax-ndk-10.3.2/sources/sqlite
|
||||||
|
rm ~/.buildozer/android/crystax-ndk-10.3.2-linux-x86_64.tar.xz
|
||||||
|
mv buildozer.spec.arm64.ci buildozer.spec
|
||||||
|
chmod u+x ./build-release.sh
|
||||||
|
- name: build release
|
||||||
|
env:
|
||||||
|
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
|
||||||
|
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
|
||||||
|
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
|
||||||
|
NEXUS_SIGNING_KEY_PASSWORD: ${{ secrets.NEXUS_SIGNING_KEY_PASSWORD }}
|
||||||
|
NEXUS_SIGNING_KEY_ID: ${{ secrets.NEXUS_SIGNING_KEY_ID }}
|
||||||
|
run: ./build-release.sh
|
||||||
|
# - name: debug bin
|
||||||
|
# run : ls -al ./bin
|
||||||
|
# - name: upload to build_lbry_io
|
||||||
|
# run : |
|
||||||
|
# pip install awscli
|
||||||
|
# export PR_NUMBER=${{ github.event.number }}
|
||||||
|
|
||||||
|
# export BUILD_APK_FILENAME__64=lbrysdk-${{ env.BUILD_VERSION }}-arm64-v8a-release.aar
|
||||||
|
# aws s3 cp ./bin/${BUILD_APK_FILENAME__64} s3://build.lbry.io/android/sdk-build-${PR_NUMBER}_commit-${{ github.sha }}/${BUILD_APK_FILENAME__64}
|
||||||
|
# env:
|
||||||
|
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||||
|
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||||
|
# AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
|
||||||
|
# - name: github release
|
||||||
|
# if: startsWith(github.ref, 'refs/tags/v')
|
||||||
|
# run: |
|
||||||
|
# pip install githubrelease
|
||||||
|
# export GITHUB_TOKEN=${{ github.token }}
|
||||||
|
# githubrelease release lbryio/lbry-android-sdk create ${{ github.ref_name }} --publish bin/${BUILD_APK_FILENAME__64}
|
||||||
|
|
||||||
|
build_arm_aar:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: lbry/android-base:python39
|
||||||
|
needs: [build_arm64_aar]
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: hacky copy # docker image runs ~ as /root, but github actions uses ~=/github/home
|
||||||
|
run: |
|
||||||
|
cp -r /root/.buildozer ~/.buildozer/
|
||||||
|
- name: setup
|
||||||
|
run: |
|
||||||
|
export B_VERSION=$(cat $GITHUB_WORKSPACE/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+')
|
||||||
|
echo "BUILD_VERSION=${B_VERSION}" >> $GITHUB_ENV
|
||||||
|
echo "NEXUS_SIGNING_KEYRING_FILE=$GITHUB_WORKSPACE/signing2.pgp" >> $GITHUB_ENV
|
||||||
|
export PATH=/usr/bin:$PATH
|
||||||
|
wget -q 'https://eu.crystax.net/download/crystax-ndk-10.3.2-linux-x86_64.tar.xz' -P ~/.buildozer/android/
|
||||||
|
tar -xf ~/.buildozer/android/crystax-ndk-10.3.2-linux-x86_64.tar.xz -C ~/.buildozer/android/
|
||||||
|
rm -rf ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-9
|
||||||
|
ln -s ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-21 ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-9
|
||||||
|
cp -f $GITHUB_WORKSPACE/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle.arm $GITHUB_WORKSPACE/p4a/pythonforandroid/bootstraps/lbry/build/templates/build.tmpl.gradle
|
||||||
|
cp -f $GITHUB_WORKSPACE/scripts/build-target-python.sh ~/.buildozer/android/crystax-ndk-10.3.2/build/tools/build-target-python.sh
|
||||||
|
cp -f $GITHUB_WORKSPACE/scripts/mangled-glibc-syscalls.h ~/.buildozer/android/crystax-ndk-10.3.2/platforms/android-21/arch-arm/usr/include/crystax/bionic/libc/include/sys/mangled-glibc-syscalls.h
|
||||||
|
cp -f $GITHUB_WORKSPACE/scripts/build-binary.mk ~/.buildozer/android/crystax-ndk-10.3.2/build/core/build-binary.mk
|
||||||
|
rm -rf ~/.buildozer/android/crystax-ndk-10.3.2/sources/sqlite
|
||||||
|
cp -Rf $GITHUB_WORKSPACE/scripts/crystax-sources/sqlite ~/.buildozer/android/crystax-ndk-10.3.2/sources/sqlite
|
||||||
|
rm ~/.buildozer/android/crystax-ndk-10.3.2-linux-x86_64.tar.xz
|
||||||
|
mv buildozer.spec.arm64.ci buildozer.spec
|
||||||
|
chmod u+x ./build-release.sh
|
||||||
|
- name: build release
|
||||||
|
env:
|
||||||
|
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
|
||||||
|
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
|
||||||
|
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
|
||||||
|
NEXUS_SIGNING_KEY_PASSWORD: ${{ secrets.NEXUS_SIGNING_KEY_PASSWORD }}
|
||||||
|
NEXUS_SIGNING_KEY_ID: ${{ secrets.NEXUS_SIGNING_KEY_ID }}
|
||||||
|
run: ./build-release.sh
|
||||||
|
# - name: upload to build_lbry_io
|
||||||
|
# run : |
|
||||||
|
# pip install awscli
|
||||||
|
# export PR_NUMBER=${{ github.event.number }}
|
||||||
|
# export BUILD_APK_FILENAME__32=lbrysdk-${{ env.BUILD_VERSION }}-armeabi-v7a-release.aar
|
||||||
|
# aws s3 cp bin/${BUILD_APK_FILENAME__32} s3://build.lbry.io/android/sdk-build-{$PR_NUMBER}_commit-${{ github.sha }}/${BUILD_APK_FILENAME__32}
|
||||||
|
# env:
|
||||||
|
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||||
|
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||||
|
# AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
|
||||||
|
# - name: github upload binary
|
||||||
|
# if: startsWith(github.ref, 'refs/tags/v')
|
||||||
|
# uses: skx/github-action-publish-binaries@release-1.3
|
||||||
|
# env:
|
||||||
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
# BUILD_VERSION: ${{ env.BUILD_VERSION }}
|
||||||
|
# with:
|
||||||
|
# args: bin/${BUILD_APK_FILENAME__32}
|
||||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -11,6 +11,7 @@ src/main/assets/index.android.bundle
|
||||||
src/main/assets/index.android.bundle.meta
|
src/main/assets/index.android.bundle.meta
|
||||||
*.log
|
*.log
|
||||||
.vagrant
|
.vagrant
|
||||||
|
.vscode
|
||||||
|
|
||||||
lbry-android.keystore
|
lbry-android.keystore
|
||||||
p4a/pythonforandroid/bootstraps/lbry/build/templates/google-services.json
|
p4a/pythonforandroid/bootstraps/lbry/build/templates/google-services.json
|
||||||
|
|
14
BUILD.md
14
BUILD.md
|
@ -135,3 +135,17 @@ If you already installed `Android SDK` and `adb`
|
||||||
Note: You need to have your device connected with USB debugging.
|
Note: You need to have your device connected with USB debugging.
|
||||||
|
|
||||||
Once the bundler is ready, run the LBRY Browser app on your device and then shake the device violently until you see the React Native dev menu. You can enable "Live Reloading" and "Hot Reloading" from this menu, so any changes you make to the React Native code will be visible as you save. This will only reload React Native Javascript files. Native Java code needs to be redeployed by running the command `./deploy.sh`
|
Once the bundler is ready, run the LBRY Browser app on your device and then shake the device violently until you see the React Native dev menu. You can enable "Live Reloading" and "Hot Reloading" from this menu, so any changes you make to the React Native code will be visible as you save. This will only reload React Native Javascript files. Native Java code needs to be redeployed by running the command `./deploy.sh`
|
||||||
|
|
||||||
|
## Update LBRY SDK Version
|
||||||
|
|
||||||
|
### Update the `requirements` section following files
|
||||||
|
* buildozer.spec.arm.ci
|
||||||
|
* buildozer.spec.arm64.ci
|
||||||
|
* buildozer.spec.sample
|
||||||
|
* buildozer.spec.vagrant
|
||||||
|
|
||||||
|
### Update LBRY_SDK_VERSION in `src/main/java/io/lbry/lbrysdk/LbrynetService.java`
|
||||||
|
|
||||||
|
### Update the version in `src/main/python/main.py`
|
||||||
|
|
||||||
|
## Github Actions CI
|
BIN
signing2.pgp
Normal file
BIN
signing2.pgp
Normal file
Binary file not shown.
|
@ -1,5 +1,5 @@
|
||||||
# going forward, this should match sdk version
|
# going forward, this should match sdk version
|
||||||
__version__ = "0.102.0"
|
__version__ = "0.111.0"
|
||||||
|
|
||||||
class ServiceApp(App):
|
class ServiceApp(App):
|
||||||
def build(self):
|
def build(self):
|
||||||
|
|
Loading…
Reference in a new issue