From fbe72228017f51de09982ef7ff1b9c5ac1c643ba Mon Sep 17 00:00:00 2001 From: befovy Date: Sun, 28 Jun 2020 23:25:48 +0800 Subject: [PATCH 1/2] ci: update github action caches --- .github/workflows/android.yml | 53 +++++++++++++------ android/contrib/compile-libsrt.sh | 7 +-- .../fijkplayer-full/gradle.properties | 1 + 3 files changed, 43 insertions(+), 18 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index aaee51fb5d..390b25ffde 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -18,26 +18,26 @@ jobs: with: java-version: 1.8 - - name: Cache android ndk and extra + - name: Cache android ndk uses: actions/cache@v2 with: - path: | - $ANDROID_HOME/ndk/16.1.4479499/ - extra/boringssl/ - extra/soundtouch/ - extra/ffmpeg/ - extra/libyuv/ - key: ${{ runner.os }}-ndk16-extra + path: $ANDROID_HOME/ndk/16.1.4479499 + key: ${{ runner.os }}-ndk16.1.4479499 - name: Setup ndk run: | - yes 2>/dev/null | sudo $ANDROID_HOME/tools/bin/sdkmanager --update - yes 2>/dev/null | sudo $ANDROID_HOME/tools/bin/sdkmanager --licenses > /dev/null - yes 2>/dev/null | sudo $ANDROID_HOME/tools/bin/sdkmanager --install "ndk;16.1.4479499" - yes 2>/dev/null | sudo $ANDROID_HOME/tools/bin/sdkmanager --install "cmake;3.10.2.4988404" - yes 2>/dev/null | sudo $ANDROID_HOME/tools/bin/sdkmanager --licenses > /dev/null - export ANDROID_NDK=$ANDROID_HOME/ndk/16.1.4479499/ + yes 2>/dev/null | sudo $ANDROID_HOME/tools/bin/sdkmanager --install "ndk;16.1.4479499" "cmake;3.10.2.4988404" + + - name: Cache android extra + uses: actions/cache@v2 + with: + path: | + extra/ffmpeg + extra/boringssl + extra/libyuv + extra/soundtouch + key: ${{ runner.os }}-android-extra - name: Init extra for android run: | @@ -46,7 +46,30 @@ jobs: bash init/init-android-boringssl.sh bash init/init-android-libsrt.sh + - name: Get build cache key + id: build-key + run: | + shasum config/* > checklist.chk + shasum init/* >> checklist.chk + shasum init-android.sh >> checklist.chk + shasum android/contrib/*.sh >> checklist.chk + shasum android/contrib/tools/* >> checklist.chk + BUILD_KEY=`shasum checklist.chk | awk '{print $1}'` + echo '::set-env name=key::$BUILD_KEY' + + - name: Cache ffmpeg build cache + id: cache-ffmpeg-build + uses: actions/cache@v2 + with: + path: | + android/contrib/build/output-armv7a + android/contrib/build/output-arm64 + android/contrib/build/output-x86 + android/contrib/build/output-x86_64 + key: ${{ steps.build-key.outputs.key }} + - name: Build ssl and ffmpeg + if: steps.cache-ffmpeg-build.outputs.cache-hit != 'true' run: | cd android/contrib export ANDROID_NDK=$ANDROID_HOME/ndk/16.1.4479499/ @@ -64,5 +87,5 @@ jobs: - name: Upload apk uses: actions/upload-artifact@v2 with: - name: ijkdemo-release.apk + name: ijkdemo-release path: android/ijkplayer/ijkplayer-example/build/outputs/apk/release/ijkplayer-example-release.apk \ No newline at end of file diff --git a/android/contrib/compile-libsrt.sh b/android/contrib/compile-libsrt.sh index 356a9bfdb3..b50b275f5b 100755 --- a/android/contrib/compile-libsrt.sh +++ b/android/contrib/compile-libsrt.sh @@ -103,7 +103,7 @@ do_build_libsrt() { -DCMAKE_INSTALL_PREFIX=${FF_PREFIX} \ -DCMAKE_PREFIX_PATH=${FF_PREFIX} \ -DANDROID_STL=c++_static \ - -DANDROID_TOOLCHAIN=gcc \ + -DANDROID_TOOLCHAIN=clang \ -DUSE_OPENSSL_PC=OFF \ -DOPENSSL_CRYPTO_LIBRARY=${FF_PREFIX}/lib/libcrypto.a \ -DOPENSSL_SSL_LIBRARY=${FF_PREFIX}/lib/libssl.a \ @@ -118,8 +118,9 @@ do_build_libsrt() { cd - cmake --build build/libsrt-${ARCH} cmake --build build/libsrt-${ARCH} --target install - sed -i 's|-lsrt |-lsrt -lc -lm -ldl -lcrypto -lssl -lstdc++|g' ${FF_PREFIX}/lib/pkgconfig/srt.pc - sed -i '12d;' ${FF_PREFIX}/lib/pkgconfig/srt.pc + sed -i.bak 's|-lsrt |-lsrt -lc -lm -ldl -lcrypto -lssl -lstdc++|g' ${FF_PREFIX}/lib/pkgconfig/srt.pc + sed -i.bak '12d;' ${FF_PREFIX}/lib/pkgconfig/srt.pc + rm ${FF_PREFIX}/lib/pkgconfig/srt.pc.bak } #---------- diff --git a/android/ijkplayer/fijkplayer-full/gradle.properties b/android/ijkplayer/fijkplayer-full/gradle.properties index d7c3b7e6d0..11d0ea1c62 100644 --- a/android/ijkplayer/fijkplayer-full/gradle.properties +++ b/android/ijkplayer/fijkplayer-full/gradle.properties @@ -1,3 +1,4 @@ POM_NAME=fijkplayer-full POM_ARTIFACT_ID=fijkplayer-full POM_PACKAGING=aar +IJK_CXX_STL=c++_static From a395182ac0d451f6353c3858c5de405425e28f4d Mon Sep 17 00:00:00 2001 From: befovy Date: Sun, 28 Jun 2020 23:29:35 +0800 Subject: [PATCH 2/2] ci: test github actions cache --- .github/workflows/android.yml | 2 +- README.md | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 390b25ffde..05fc3085a8 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -55,7 +55,7 @@ jobs: shasum android/contrib/*.sh >> checklist.chk shasum android/contrib/tools/* >> checklist.chk BUILD_KEY=`shasum checklist.chk | awk '{print $1}'` - echo '::set-env name=key::$BUILD_KEY' + echo "::set-output name=key::${BUILD_KEY}" - name: Cache ffmpeg build cache id: cache-ffmpeg-build diff --git a/README.md b/README.md index 385862b507..6533c81313 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,5 @@ # ijkplayer - Platform | Build Status - -------- | ------------ - Android | [![Build Status](https://travis-ci.org/Bilibili/ci-ijk-ffmpeg-android.svg?branch=master)](https://travis-ci.org/Bilibili/ci-ijk-ffmpeg-android) - iOS | [![Build Status](https://travis-ci.org/Bilibili/ci-ijk-ffmpeg-ios.svg?branch=master)](https://travis-ci.org/Bilibili/ci-ijk-ffmpeg-ios) - Video player based on [ffplay](http://ffmpeg.org) ### Download