diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 8b13789..449c13f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1 +1,124 @@ +name: Publish Assets + +on: + push: + branches: [master] + pull_request: + 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: Log the buildozer version + run: | + pwd + ls -al / + - name: export build version + run: export BUILD_VERSION=$(cat $GITHUB_WORKSPACE/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+') + - name: setup + run: | + 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/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: build arm64 aar + # run: | + # 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/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 + # ./build-release.sh + # cp $GITHUB_WORKSPACE/bin/lbrysdk-${{ env.BUILD_VERSION }}-arm64-v8a-release.aar /dev/null + # build_arm_aar: + # runs-on: ubuntu-latest + # container: lbry/android-base:python39 + # steps: + # - name: checkout + # uses: actions/checkout@v3 + # - name: export build version + # run: export BUILD_VERSION=$(cat $GITHUB_WORKSPACE/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+') + # - name: build arm aar + # run: | + # export NEXUS_SIGNING_KEYRING_FILE=$GITHUB_WORKSPACE/signing2.pgp + # 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.arm.ci buildozer.spec + # chmod u+x ./build-release.sh + # ./build-release.sh + # cp $GITHUB_WORKSPACE/bin/lbrysdk-${{ env.BUILD_VERSION }}-armeabi-v7a-release.aar /dev/null + # deploy_build_lbry_io: + # runs-on: ubuntu-latest + # container: lbry/android-base:python39 + # needs: [build_arm64_aar, build_arm_aar] + # steps: + # - name: dependencies + # run: | + # pip install awscli + # export BUILD_VERSION=$(cat $GITHUB_WORKSPACE/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+') + # export BUILD_APK_FILENAME__32=lbrysdk-$BUILD_VERSION-armeabi-v7a-release.aar + # export BUILD_APK_FILENAME__64=lbrysdk-$BUILD_VERSION-arm64-v8a-release.aar + # - name: upload + # run: | + # aws s3 cp bin/$BUILD_APK_FILENAME__64 s3://build.lbry.io/android/sdk-build-${CI_PIPELINE_IID}_commit-${CI_COMMIT_SHA:0:7}/$BUILD_APK_FILENAME__64 + # aws s3 cp bin/$BUILD_APK_FILENAME__32 s3://build.lbry.io/android/sdk-build-${CI_PIPELINE_IID}_commit-${CI_COMMIT_SHA:0:7}/$BUILD_APK_FILENAME__32 + # release_aar: + # runs-on: ubuntu-latest + # container: python:latest + # needs: [build_arm64_aar, build_arm_aar] + # steps: + # - name: dependencies + # run: | + # pip install awscli githubrelease + # export BUILD_VERSION=$(cat $GITHUB_WORKSPACE/src/main/python/main.py | grep --color=never -oP '([0-9]+\.?)+') + # export BUILD_APK_FILENAME__32=lbrysdk-$BUILD_VERSION-armeabi-v7a-release.aar + # export BUILD_APK_FILENAME__64=lbrysdk-$BUILD_VERSION-arm64-v8a-release.aar + # - name: release + # run: githubrelease release lbryio/lbry-android-sdk create $CI_COMMIT_TAG --publish bin/$BUILD_APK_FILENAME__64 bin/$BUILD_APK_FILENAME__32 diff --git a/buildozer.spec.arm.ci b/buildozer.spec.arm.ci index aa666ed..295efea 100644 --- a/buildozer.spec.arm.ci +++ b/buildozer.spec.arm.ci @@ -101,7 +101,7 @@ android.minapi = 21 android.sdk = 23 # (str) Android NDK version to use -#android.ndk = 13b +#android.ndk = 17c # (bool) Use --private data storage (True) or --dir public storage (False) #android.private_storage = True @@ -275,3 +275,4 @@ warn_on_root = 1 # Then, invoke the command line with the "demo" profile: # #buildozer --profile demo android debug +android.accept_sdk_license = True \ No newline at end of file diff --git a/signing2.pgp b/signing2.pgp new file mode 100644 index 0000000..da549e4 Binary files /dev/null and b/signing2.pgp differ