mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-04-19 05:59:16 -04:00
* Initial Windows ffmpeg + libheif custom build * Add build steps for most of ffmpeg deps * FFmpeg deps and libheif * Fix libheif build * Fix libvpx and dlfcn + attempt to fix rav1e * Rework the whole ffmpeg-windows build system - New system based on https://github.com/BtbN/FFmpeg-Builds - Add new ffmpeg-windows workflow - Rename macos ffmpeg workflow - Adapt macos setupt script due to above name change * Forgot to update update the workflow name * Strip all libs from debug symbols * Add docs * Add libde265 deps, required by libheif - Make x265, svtav1 and dav1d as shared deps (used by both ffmpeg and libheif) * Add missing libheif to Linux setup script * Fix libx265 build script * Forgot to point x265 ninja install to the correct directory * Remove libaom and libsvt-av1 - dav1d and rav1d are our default AV1 decoders/encoders - Quote subshell executions - Make libweb shared * Forgot to remove libaom and libsvt-av1 build steps * Fix typo * Try force webp to link against static libs * Revert libwebp to a static build * Dumb typo * Modify windows script to download our ffmpeg build (WIP) * Fix dlls output folder structure * Fix dumb mistake * Remove unused ffbuild_enabled * Enable core's heif feature on Windows - Fix windows ffmpeg build not including the headers - Fix windows setupt script incorrect download loagic - Implement build_arg to pass which repo ref to use when cloning * Fix windows setup script * Fix workflow artifact path - Make ffmpeg-windows dockerfile respect the FFMPEG_VERSION env * Fix Windows setup script incorrect logic for downloading ffmpeg builds * Error out when workflow_runs is empty * Fix dumb mistake * Manually define ffmpeg version for windows script * Fix ffmpeg windows build extract logic * Fix prop access in windows setup script * Revert back to a web request because nightly.link does a redirect before serving the artifact content * Fix windows setup script * Do not use nightly.link in Github CI * Fix windows setup script * Should finally fix window setup script - Update ffmpeg-windows deps - Should fix ffmpeg-windows failing to build due to mingw changes in new base image * Fix libxz failing to build due to doxygen * Fix windows setup-script not executing till the end * Fix LASTEXITCODE not defined * Remove libjxl, deps are not being compiled * Fix dll and lib copy logic * Move final copy dll logic to external script * Use main for libjxl * Change brotli from stable to main - Attempt to fix libjxl * Attempt fix lib copy again * Split copy_dll logic to avoid cache burst in docker * Missing file * Change how to export build files from shared deps * Replace rsync with cp * Fix copy * Fix dir not existing * Fix pkgconfig * Remove superflous files from exported ffmpeg for windows - Adjust dav1d to not build tools and examples - Adjust windows setup-script to point linker to the libs directory * Fix dav1d meson config args * Fix dumb mistake * WORK PLZ * Fix .lib file location - Strip all dlls * Formatter
67 lines
1.8 KiB
YAML
67 lines
1.8 KiB
YAML
name: Build ffmpeg macos
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- '.github/workflows/ffmpeg.yml'
|
|
- '.github/scripts/ffmpeg-macos/**'
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/ffmpeg.yml'
|
|
- '.github/scripts/ffmpeg-macos/**'
|
|
workflow_dispatch:
|
|
|
|
# Cancel previous runs of the same workflow on the same branch.
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
FFMPEG_VERSION: '6.0'
|
|
|
|
jobs:
|
|
build-ffmpeg-macos:
|
|
name: Build ffmpeg for macos
|
|
runs-on: ubuntu-20.04
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
with:
|
|
install: true
|
|
platforms: linux/amd64
|
|
driver-opts: |
|
|
image=moby/buildkit:master
|
|
network=host
|
|
|
|
- name: Build ffmpeg
|
|
run: |
|
|
set -euxo pipefail
|
|
cd .github/scripts/ffmpeg-macos
|
|
docker build --build-arg FFMPEG_VERSION=$FFMPEG_VERSION -o . .
|
|
export XZ_OPT='-T0 -9'
|
|
tar -cJf "ffmpeg-${FFMPEG_VERSION}-x86_64.tar.xz" -C ffmpeg/x86_64 .
|
|
tar -cJf "ffmpeg-${FFMPEG_VERSION}-arm64.tar.xz" -C ffmpeg/aarch64 .
|
|
rm -rf ffmpeg
|
|
|
|
- name: Publish ffmpeg x86_64
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: ffmpeg-${{ env.FFMPEG_VERSION }}-x86_64
|
|
path: .github/scripts/ffmpeg-macos/ffmpeg-${{ env.FFMPEG_VERSION }}-x86_64.tar.xz
|
|
if-no-files-found: error
|
|
|
|
- name: Publish ffmpeg arm64
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: ffmpeg-${{ env.FFMPEG_VERSION }}-arm64
|
|
path: .github/scripts/ffmpeg-macos/ffmpeg-${{ env.FFMPEG_VERSION }}-arm64.tar.xz
|
|
if-no-files-found: error
|