diff --git a/.github/actions/setup-ffmpeg/action.yml b/.github/actions/setup-ffmpeg/action.yml index d4c8ccec..09118326 100644 --- a/.github/actions/setup-ffmpeg/action.yml +++ b/.github/actions/setup-ffmpeg/action.yml @@ -33,6 +33,19 @@ runs: fi } + download_mac_binary() { + local binary_name="$1" + local -a versions=("${@:2}") + local lower_binary_name=$(echo "$binary_name" | tr '[:upper:]' '[:lower:]') + + for version in "${versions[@]}"; do + if download_binary "https://www.osxexperts.net/${lower_binary_name}${version}arm.zip" "$binary_name"; then + return 0 + fi + done + return 1 + } + if [[ "${{ runner.os }}" == "Linux" ]]; then docker pull mwader/static-ffmpeg:$FF_VERSION CID=$(docker create mwader/static-ffmpeg:$FF_VERSION) @@ -43,9 +56,12 @@ runs: elif [[ "${{ runner.os }}" == "macOS" ]]; then FF_VERSION=$(echo "$FF_VERSION" | awk -F. '{print $1 $2}') - download_binary "https://www.osxexperts.net/ffmpeg${FF_VERSION}arm.zip" + versions=("$FF_VERSION") + [[ "$FF_VERSION" == *0 ]] && versions+=("${FF_VERSION%0}") + + download_mac_binary "FFmpeg" versions mv ffmpeg "$INSTALL_DIR/ffmpeg" - download_binary "https://www.osxexperts.net/ffprobe${FF_VERSION}arm.zip" "FFprobe" + download_mac_binary "FFprobe" versions mv ffprobe "$INSTALL_DIR/ffprobe" chmod +x "$INSTALL_DIR/"* diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index b65260b3..b0a910f7 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -26,8 +26,8 @@ jobs: - name: Setup FFmpeg and FFprobe uses: ./.github/actions/setup-ffmpeg with: - # bump: FFmpeg /ffmpeg-version: ([\d.]+)/ docker:mwader/static-ffmpeg|/\d+\./|* - ffmpeg-version: 8.1.2 + # bump: FFmpeg /ffmpeg-version: '([\d.]+)'/ docker:mwader/static-ffmpeg|/\d+\./|* + ffmpeg-version: '9.0' - name: Setup Java uses: actions/setup-java@v5 diff --git a/Dockerfile b/Dockerfile index 4f143d7e..6ab1b5da 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM eclipse-temurin:26-alpine AS builder WORKDIR /app # bump: FFmpeg /static-ffmpeg:([\d.]+)/ docker:mwader/static-ffmpeg|/\d+\./|* -COPY --from=mwader/static-ffmpeg:8.1.2 /ff* /usr/bin/ +COPY --from=mwader/static-ffmpeg:9.0 /ff* /usr/bin/ COPY . . RUN --mount=type=cache,target=/root/.gradle ./gradlew check installDist --no-daemon