diff --git a/.github/workflows/compilability_check.yml b/.github/workflows/compilability_check.yml new file mode 100644 index 0000000..3099b83 --- /dev/null +++ b/.github/workflows/compilability_check.yml @@ -0,0 +1,21 @@ +name: Compilability check +on: push +jobs: + build: + runs-on: ubuntu-20.04 + strategy: + matrix: + abi: [ "armeabi-v7a", "arm64-v8a", "x86", "x86_64" ] + fail-fast: false + steps: + - uses: actions/checkout@v2 + + - name: Setup the environment + run: | + sudo pip3 install meson==0.57.1 + sudo apt-get install nasm ninja-build + + - name: Executing the script + run: | + export ANDROID_SDK_HOME=$ANDROID_HOME + ./ffmpeg-android-maker.sh -dav1d -abis=${{ matrix.abi }} \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ba4cc8a..0000000 --- a/.travis.yml +++ /dev/null @@ -1,33 +0,0 @@ -language: java -jdk: openjdk8 -dist: xenial -install: - # Installing Android SDK - - curl https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip --output $HOME/android-sdk.zip - - unzip -qq $HOME/android-sdk.zip -d $HOME/android-sdk - - export ANDROID_SDK_HOME=$HOME/android-sdk - - export ANDROID_NDK_HOME=$ANDROID_SDK_HOME/ndk/21.3.6528147 - # Installing necessary components of Android SDK - - function installAndroidComponent() { yes | ${ANDROID_SDK_HOME}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} $1 > /dev/null; } - - installAndroidComponent "ndk;21.3.6528147" - - installAndroidComponent "cmake;3.10.2.4988404" - # Installing meson, ninja and nasm that are necessary for libdav1d building - - sudo apt-get install python3-pip python3-setuptools python3-wheel ninja-build - - sudo pip3 install meson==0.53.2 - - curl http://archive.ubuntu.com/ubuntu/pool/universe/n/nasm/nasm_2.14.02-1_amd64.deb --output $HOME/nasm_2.14.02-1_amd64.deb - - sudo dpkg -i $HOME/nasm_2.14.02-1_amd64.deb -jobs: - include: - - name: armeabi-v7a - env: TARGET_ABI=armeabi-v7a - - - name: arm64-v8a - env: TARGET_ABI=arm64-v8a - - - name: x86 - env: TARGET_ABI=x86 - - - name: x86_64 - env: TARGET_ABI=x86_64 -script: - - ./ffmpeg-android-maker.sh -dav1d -abis=$TARGET_ABI diff --git a/README.md b/README.md index 0d70d09..8786841 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # ffmpeg-android-maker [![Codacy Badge](https://api.codacy.com/project/badge/Grade/6b9a9fe4c6874e65a5e2a3f9beb15605)](https://app.codacy.com/manual/Javernaut/ffmpeg-android-maker) -[![Build Status](https://travis-ci.org/Javernaut/ffmpeg-android-maker.svg?branch=master)](https://travis-ci.org/Javernaut/ffmpeg-android-maker) +[![Compilability check](https://github.com/Javernaut/ffmpeg-android-maker/actions/workflows/compilability_check.yml/badge.svg?branch=master)](https://github.com/Javernaut/ffmpeg-android-maker/actions/workflows/compilability_check.yml) [![Android Weekly #378](https://androidweekly.net/issues/issue-378/badge)](https://androidweekly.net/issues/issue-378) [![Android Weekly #396](https://androidweekly.net/issues/issue-396/badge)](https://androidweekly.net/issues/issue-396) @@ -70,7 +70,7 @@ Certain external libraries require additional software to be installed. Check th **Test your script in a cloud**. This repository has CI integration and you can use it too for your own configurations. See details [here](https://github.com/Javernaut/ffmpeg-android-maker/wiki/Build-automation). -**Text relocations monitoring**. After an assembling is finished you can look into stats/text-relocations.txt file. This file lists all \*.so files that were built and reports if any of them has text relocations. If you don't see any mentioning of 'TEXTREL' in the file, you are good. Otherwise, you will see exact binaries that have this problem. The Travis CI build will automatically fail if text relocations occur. +**Text relocations monitoring**. After an assembling is finished you can look into stats/text-relocations.txt file. This file lists all \*.so files that were built and reports if any of them has text relocations. If you don't see any mentioning of 'TEXTREL' in the file, you are good. Otherwise, you will see exact binaries that have this problem. The Github Actions' Compilability check build will automatically fail if text relocations occur. ## License diff --git a/scripts/libaom/download.sh b/scripts/libaom/download.sh index beba661..73a0b48 100755 --- a/scripts/libaom/download.sh +++ b/scripts/libaom/download.sh @@ -2,7 +2,7 @@ source ${SCRIPTS_DIR}/common-functions.sh -AOM_VERSION=v2.0.0 +AOM_VERSION=v2.0.2 downloadTarArchive \ "libaom" \ diff --git a/scripts/libdav1d/download.sh b/scripts/libdav1d/download.sh index eaea41e..4dc80e7 100755 --- a/scripts/libdav1d/download.sh +++ b/scripts/libdav1d/download.sh @@ -2,7 +2,7 @@ source ${SCRIPTS_DIR}/common-functions.sh -DAV1D_VERSION=0.7.0 +DAV1D_VERSION=0.8.1 downloadTarArchive \ "libdav1d" \ diff --git a/scripts/libvpx/download.sh b/scripts/libvpx/download.sh index c68fa8f..fc011ee 100755 --- a/scripts/libvpx/download.sh +++ b/scripts/libvpx/download.sh @@ -2,7 +2,7 @@ source ${SCRIPTS_DIR}/common-functions.sh -VPX_VERSION=v1.8.2 +VPX_VERSION=v1.9.0 downloadTarArchive \ "libvpx" \ diff --git a/scripts/libwavpack/download.sh b/scripts/libwavpack/download.sh index e36de8f..319b6de 100755 --- a/scripts/libwavpack/download.sh +++ b/scripts/libwavpack/download.sh @@ -2,7 +2,7 @@ source ${SCRIPTS_DIR}/common-functions.sh -WAVPACK_VERSION=5.3.0 +WAVPACK_VERSION=5.4.0 downloadTarArchive \ "libwavpack" \ diff --git a/scripts/libx264/download.sh b/scripts/libx264/download.sh index 46cec38..3933745 100755 --- a/scripts/libx264/download.sh +++ b/scripts/libx264/download.sh @@ -4,8 +4,8 @@ source ${SCRIPTS_DIR}/common-functions.sh # Libx264 doesn't have any versioning system. Currently it has 2 branches: master and stable. # Latest commit in stable branch -# Tue Jun 30 22:28:05 2020 +0300 -LIBX264_VERSION=cde9a93319bea766a92e306d69059c76de970190 +# Thu Jan 21 16:41:42 2021 +0300 +LIBX264_VERSION=544c61f082194728d0391fb280a6e138ba320a96 downloadTarArchive \ "libx264" \ diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 6c81406..616440a 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -2,12 +2,12 @@ FROM ubuntu:20.04 # Arguments that can be overridden in 'docker build' command: # Versions of Android SDK and NDK. The CMake is installed via NDK. -ARG VERSION_SDK=6609375 -ARG VERSION_NDK=21.3.6528147 +ARG VERSION_SDK=6858069 +ARG VERSION_NDK=21.4.7075529 ARG VERSION_CMAKE=3.10.2.4988404 # Package to install via pip3 -ARG VERSION_MESON=0.53.2 +ARG VERSION_MESON=0.57.1 # The HOME variable isn't available for ENV directive (during building an image). # So we define one manually. For alpine and ubuntu it should be '/root' @@ -46,7 +46,7 @@ RUN mkdir -p ${HOME_TWIN}/android-sdk && \ rm ${HOME_TWIN}/android-sdk.zip # Installing components through the Android SDK -RUN installAndroidComponent() { yes | ${ANDROID_SDK_HOME}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} "$1" > /dev/null; } && \ +RUN installAndroidComponent() { yes | ${ANDROID_SDK_HOME}/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} "$1" > /dev/null; } && \ installAndroidComponent "ndk;${VERSION_NDK}" && \ installAndroidComponent "cmake;${VERSION_CMAKE}"