From 442d228292673c9f65b66bb55a214e42cc773b06 Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 16:25:17 +0800 Subject: [PATCH 01/14] add ffmpeg flag --enable-jni --enable-mediacodec --- scripts/ffmpeg/build.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/ffmpeg/build.sh b/scripts/ffmpeg/build.sh index 18f7b29..e312a54 100755 --- a/scripts/ffmpeg/build.sh +++ b/scripts/ffmpeg/build.sh @@ -42,6 +42,8 @@ DEP_LD_FLAGS="-L${BUILD_DIR_EXTERNAL}/${ANDROID_ABI}/lib $FFMPEG_EXTRA_LD_FLAGS" --extra-cflags="-O3 -fPIC $DEP_CFLAGS" \ --extra-ldflags="$DEP_LD_FLAGS" \ --enable-shared \ + --enable-jni \ + --enable-mediacodec \ --disable-static \ --pkg-config=${PKG_CONFIG_EXECUTABLE} \ ${EXTRA_BUILD_CONFIGURATION_FLAGS} \ From 7b253ef3c920f16610af305b0d53992e192f2a56 Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 16:43:31 +0800 Subject: [PATCH 02/14] add ci --- .github/workflows/publish_release.yml | 48 +++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/publish_release.yml diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml new file mode 100644 index 0000000..bd7bc01 --- /dev/null +++ b/.github/workflows/publish_release.yml @@ -0,0 +1,48 @@ +jobs: + release: + runs-on: ubuntu-latest + strategy: + matrix: + abi: [ "armeabi-v7a", "arm64-v8a", "x86", "x86_64" ] + fail-fast: true + steps: + - uses: actions/checkout@v2 + + - name: Setup the environment + run: | + sudo pip3 install meson==0.58.2 + sudo apt-get install nasm ninja-build + + - name: Executing the script + run: | + export ANDROID_SDK_HOME=$ANDROID_HOME + export ANDROID_NDK_HOME=$ANDROID_NDK_LATEST_HOME + ./ffmpeg-android-maker.sh -all-free -all-gpl -android=21 -abis=${{ matrix.abi }} + - name: Pack artifacts + run: tar -cf build.tar.gz build/ + + - name: Create Draft Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: + release_name: + draft: true + prerelease: false + + - uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./build.tar.gz + asset_name: build.tar.gz + asset_content_type: application/gz + + - uses: eregon/publish-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + release_id: ${{ steps.create_release.outputs.id }} From 86c44d0e5f2c91b8110414f8e7969afa970a9fcd Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 16:49:40 +0800 Subject: [PATCH 03/14] trigger on manual --- .github/workflows/publish_release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index bd7bc01..04feac6 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -1,3 +1,9 @@ +name: build release binaries +on: + workflow_dispatch: + inputs: + message: + required: false jobs: release: runs-on: ubuntu-latest From 7a4bf957206bffad0b10a6862359fa9198423f74 Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 16:53:30 +0800 Subject: [PATCH 04/14] add options input --- .github/workflows/publish_release.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 04feac6..88e4b81 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -2,14 +2,15 @@ name: build release binaries on: workflow_dispatch: inputs: - message: - required: false + build_options: + required: true + default: -libbluray -android=21 jobs: release: runs-on: ubuntu-latest strategy: matrix: - abi: [ "armeabi-v7a", "arm64-v8a", "x86", "x86_64" ] + abi: [ "armeabi-v7a", "arm64-v8a" ] fail-fast: true steps: - uses: actions/checkout@v2 @@ -23,7 +24,7 @@ jobs: run: | export ANDROID_SDK_HOME=$ANDROID_HOME export ANDROID_NDK_HOME=$ANDROID_NDK_LATEST_HOME - ./ffmpeg-android-maker.sh -all-free -all-gpl -android=21 -abis=${{ matrix.abi }} + ./ffmpeg-android-maker.sh ${{ build_options }} -abis=${{ matrix.abi }} - name: Pack artifacts run: tar -cf build.tar.gz build/ From 0ed117bea152ee9c61676001371fee04d5022b41 Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 17:01:09 +0800 Subject: [PATCH 05/14] fix grammer --- .github/workflows/publish_release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 88e4b81..682e6de 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -3,8 +3,9 @@ on: workflow_dispatch: inputs: build_options: + description: 'ffmepg build script options' required: true - default: -libbluray -android=21 + default: '-libbluray -android=21' jobs: release: runs-on: ubuntu-latest From 8cb2a919495b046eddb5ba3e95d8530e1ceb4005 Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 17:18:09 +0800 Subject: [PATCH 06/14] fix grammer --- .github/workflows/publish_release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 682e6de..2159a7d 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -1,8 +1,8 @@ -name: build release binaries +name: Build release binaries on: workflow_dispatch: inputs: - build_options: + buildOptions: description: 'ffmepg build script options' required: true default: '-libbluray -android=21' From 858b4e272deff9e6050273488fb6139f93992552 Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 17:20:12 +0800 Subject: [PATCH 07/14] fix grammer --- .github/workflows/publish_release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 2159a7d..dbc9bc6 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -25,7 +25,7 @@ jobs: run: | export ANDROID_SDK_HOME=$ANDROID_HOME export ANDROID_NDK_HOME=$ANDROID_NDK_LATEST_HOME - ./ffmpeg-android-maker.sh ${{ build_options }} -abis=${{ matrix.abi }} + ./ffmpeg-android-maker.sh ${{ buildOptions }} -abis=${{ matrix.abi }} - name: Pack artifacts run: tar -cf build.tar.gz build/ From bbfd9c722b6a015ec62aad3f67cc0d307598925c Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 17:21:10 +0800 Subject: [PATCH 08/14] fix name error --- .github/workflows/publish_release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index dbc9bc6..a2ba802 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -25,7 +25,7 @@ jobs: run: | export ANDROID_SDK_HOME=$ANDROID_HOME export ANDROID_NDK_HOME=$ANDROID_NDK_LATEST_HOME - ./ffmpeg-android-maker.sh ${{ buildOptions }} -abis=${{ matrix.abi }} + ./ffmpeg-android-maker.sh ${{ input.build_options }} -abis=${{ matrix.abi }} - name: Pack artifacts run: tar -cf build.tar.gz build/ From a80ab2fd477f1e71c61e987855858cc0c47635e2 Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 17:22:22 +0800 Subject: [PATCH 09/14] fix typo --- .github/workflows/publish_release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index a2ba802..2e2e1f1 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -25,7 +25,7 @@ jobs: run: | export ANDROID_SDK_HOME=$ANDROID_HOME export ANDROID_NDK_HOME=$ANDROID_NDK_LATEST_HOME - ./ffmpeg-android-maker.sh ${{ input.build_options }} -abis=${{ matrix.abi }} + ./ffmpeg-android-maker.sh ${{ inputs.build_options }} -abis=${{ matrix.abi }} - name: Pack artifacts run: tar -cf build.tar.gz build/ From 3ae5d15a1fe6862a18f06701be6e2034aee6e0f5 Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 21:21:20 +0800 Subject: [PATCH 10/14] refine tag name --- .github/workflows/publish_release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 2e2e1f1..1bbb363 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -35,8 +35,8 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - tag_name: - release_name: + tag_name: ${{ matrix.abi }} + release_name: ${{ matrix.abi }} draft: true prerelease: false @@ -46,7 +46,7 @@ jobs: with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./build.tar.gz - asset_name: build.tar.gz + asset_name: build-${{ matrix.abi }}.tar.gz asset_content_type: application/gz - uses: eregon/publish-release@v1 From 463ce571c8e2e64b284841feb1071523054c670e Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 21:27:06 +0800 Subject: [PATCH 11/14] add ant build --- .github/workflows/compilability_check.yml | 2 +- .github/workflows/publish_release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compilability_check.yml b/.github/workflows/compilability_check.yml index 845f7e1..e4e61ac 100644 --- a/.github/workflows/compilability_check.yml +++ b/.github/workflows/compilability_check.yml @@ -13,7 +13,7 @@ jobs: - name: Setup the environment run: | sudo pip3 install meson==0.58.2 - sudo apt-get install nasm ninja-build + sudo apt-get install nasm ninja-build ant - name: Executing the script run: | diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 1bbb363..71699aa 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -19,7 +19,7 @@ jobs: - name: Setup the environment run: | sudo pip3 install meson==0.58.2 - sudo apt-get install nasm ninja-build + sudo apt-get install nasm ninja-build ant - name: Executing the script run: | From 58ebcffd1ab2c87a89b0ffdbd029469e066e3ca3 Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 21:31:49 +0800 Subject: [PATCH 12/14] fix typo --- .github/workflows/publish_release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 71699aa..024c438 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -25,7 +25,7 @@ jobs: run: | export ANDROID_SDK_HOME=$ANDROID_HOME export ANDROID_NDK_HOME=$ANDROID_NDK_LATEST_HOME - ./ffmpeg-android-maker.sh ${{ inputs.build_options }} -abis=${{ matrix.abi }} + ./ffmpeg-android-maker.sh ${{ inputs.buildOptions }} -abis=${{ matrix.abi }} - name: Pack artifacts run: tar -cf build.tar.gz build/ From 9a6d0129000e61526eea1c2ba5c9b046c4481115 Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 21:44:45 +0800 Subject: [PATCH 13/14] add build time to release artifact --- .github/workflows/publish_release.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 024c438..329548b 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -28,15 +28,22 @@ jobs: ./ffmpeg-android-maker.sh ${{ inputs.buildOptions }} -abis=${{ matrix.abi }} - name: Pack artifacts run: tar -cf build.tar.gz build/ - + - name: Get current date + id: date + run: echo "::set-output name=date::$(date +'%Y-%m-%d')" + - name: Test with environment variables + run: echo $TAG_NAME - $RELEASE_NAME + env: + TAG_NAME: nightly-tag-${{ steps.date.outputs.date }}-${{ matrix.abi }} + RELEASE_NAME: nightly-release-${{ steps.date.outputs.date }}-${{ matrix.abi }} - name: Create Draft Release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - tag_name: ${{ matrix.abi }} - release_name: ${{ matrix.abi }} + tag_name: ${{ env.TAG_NAME }} + release_name: ${{ env.RELEASE_NAME }} draft: true prerelease: false From 5b95a89d6e4d9a651d206642eb5b08275b7e775a Mon Sep 17 00:00:00 2001 From: hanbowen Date: Thu, 16 Jun 2022 22:02:26 +0800 Subject: [PATCH 14/14] fix tag_name --- .github/workflows/publish_release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 329548b..1ba25c9 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -42,8 +42,8 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - tag_name: ${{ env.TAG_NAME }} - release_name: ${{ env.RELEASE_NAME }} + tag_name: nightly-tag-${{ steps.date.outputs.date }}-${{ matrix.abi }} + release_name: nightly-release-${{ steps.date.outputs.date }}-${{ matrix.abi }} draft: true prerelease: false