Build LGPL FFmpeg Binaries #18
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This job is not directly related to regular CI pipeline. | |
| # It is intended to create FFmpeg binaries that we upload on S3, | |
| # which then will be used during all the build process in CI or local. | |
| # | |
| # This job does not include uploading part. | |
| # Upload needs to be done manually, and it should be done only once | |
| # par new major release of FFmepg. | |
| name: Build LGPL FFmpeg Binaries | |
| on: | |
| workflow_dispatch: | |
| # pull_request: | |
| # paths-ignore: | |
| # - "docs/**" | |
| # - "examples/**" | |
| # - "*.md" | |
| # branches: | |
| # - main | |
| jobs: | |
| manylinux_2_28: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ffmpeg_version: ["4.4.5", "5.1.6", "6.1.2", "7.1.1", "8.0", "master"] | |
| conf: | |
| - { arch: "x86_64", os: "ubuntu-latest" } | |
| - { arch: "aarch64", os: "ubuntu-24.04-arm" } | |
| runs-on: "${{ matrix.conf.os }}" | |
| container: "quay.io/pypa/manylinux_2_28_${{ matrix.conf.arch }}" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| persist-credentials: false | |
| - name: Build | |
| run: | | |
| export FFMPEG_VERSION="${{ matrix.ffmpeg_version }}" | |
| export FFMPEG_ROOT="${PWD}/ffmpeg" | |
| .github/scripts/build_ffmpeg.sh | |
| tar -cf ffmpeg.tar.gz ffmpeg/include ffmpeg/lib | |
| artifact_dir="${GITHUB_WORKSPACE}/artifacts/$(date +%Y-%m-%d)/" | |
| mkdir -p "${artifact_dir}" | |
| mv ffmpeg.tar.gz "${artifact_dir}/ffmpeg_${FFMPEG_VERSION}_manylinux_2_28_${{ matrix.conf.arch }}.tar.gz" | |
| - uses: actions/upload-artifact@v4 | |
| name: Upload build artifact | |
| with: | |
| name: "ffmpg_${{ matrix.ffmpeg_version }}_manylinux_2_28_${{ matrix.conf.arch }}" | |
| path: "${{ github.workspace }}/artifacts" | |
| if-no-files-found: error | |
| retention-days: 7 | |
| overwrite: true | |
| macOS: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ffmpeg_version: ["4.4.5", "5.1.6", "6.1.2", "7.1.1", "8.0", "master"] | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| persist-credentials: false | |
| - name: Build | |
| run: | | |
| export FFMPEG_VERSION="${{ matrix.ffmpeg_version }}" | |
| export FFMPEG_ROOT="${PWD}/ffmpeg" | |
| .github/scripts/build_ffmpeg.sh | |
| tar -cf ffmpeg.tar.gz ffmpeg/include ffmpeg/lib | |
| artifact_dir="${GITHUB_WORKSPACE}/artifacts/$(date +%Y-%m-%d)/" | |
| mkdir -p "${artifact_dir}" | |
| mv ffmpeg.tar.gz "${artifact_dir}/ffmpeg_${FFMPEG_VERSION}_macos_aarch64.tar.gz" | |
| - uses: actions/upload-artifact@v4 | |
| name: Upload build artifact | |
| with: | |
| name: "ffmpg_${{ matrix.ffmpeg_version }}_macos_aarch64" | |
| path: "${{ github.workspace }}/artifacts" | |
| if-no-files-found: error | |
| retention-days: 7 | |
| overwrite: true | |
| win: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ffmpeg_version: ["4.4.5", "5.1.6", "6.1.2", "7.1.1", "8.0", "master"] | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| persist-credentials: false | |
| - name: Build | |
| shell: bash | |
| run: | | |
| export FFMPEG_VERSION="${{ matrix.ffmpeg_version }}" | |
| export FFMPEG_ROOT="${PWD}/ffmpeg" | |
| .github/scripts/build_ffmpeg.bad | |
| tar -cf ffmpeg.tar.gz ffmpeg/include ffmpeg/lib | |
| artifact_dir="${GITHUB_WORKSPACE}/artifacts/$(date +%Y-%m-%d)/" | |
| mkdir -p "${artifact_dir}" | |
| mv ffmpeg.tar.gz "${artifact_dir}/ffmpeg_${FFMPEG_VERSION}_macos_aarch64.tar.gz" | |
| - uses: actions/upload-artifact@v4 | |
| name: Upload build artifact | |
| with: | |
| name: "ffmpg_${{ matrix.ffmpeg_version }}_windows" | |
| path: "${{ github.workspace }}/artifacts" | |
| if-no-files-found: error | |
| retention-days: 7 | |
| overwrite: true |