From a3724d3ec9f1f4bc7157996c5fa3bdfdde5b74eb Mon Sep 17 00:00:00 2001 From: Mike Solar Date: Fri, 29 May 2026 00:50:02 +0800 Subject: [PATCH] Update CI/CD to use Ubuntu 24.04 and distro FFmpeg 6.x --- .github/workflows/cd.yml | 31 ++++++++++++---------------- .github/workflows/ci.yml | 23 +-------------------- CMakeLists.txt | 2 +- app/packaging/windows/nsis/olive.nsi | 2 +- 4 files changed, 16 insertions(+), 42 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 579fd3e1d..36170839a 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -132,31 +132,26 @@ jobs: path: Oak-Video-Editor-macOS.dmg # ------------------------------------------------------------------ - # Linux AppImage (Arch Linux — latest FFmpeg) + # Linux AppImage (Ubuntu 24.04 — distro FFmpeg 6.x) # ------------------------------------------------------------------ appimage: - runs-on: ubuntu-latest - container: - image: archlinux:latest + runs-on: ubuntu-24.04 steps: - - name: Initialize pacman - run: | - pacman-key --init - pacman-key --populate archlinux - pacman -Sy --noconfirm archlinux-keyring - - - name: Install dependencies - run: | - pacman -Syu --noconfirm \ - base-devel cmake ninja git wget fuse2 desktop-file-utils \ - qt6-base qt6-tools \ - ffmpeg openimageio opencolorio openexr expat portaudio \ - fmt mesa libxkbcommon - - uses: actions/checkout@v4 with: submodules: true + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + cmake ninja-build pkg-config \ + qt6-base-dev qt6-base-dev-tools qt6-base-private-dev qt6-tools-dev qt6-tools-dev-tools \ + libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev \ + libopencolorio-dev libopenimageio-dev libopenexr-dev libexpat1-dev \ + portaudio19-dev libgl1-mesa-dev libxkbcommon-dev \ + wget fuse3 desktop-file-utils + - name: Build run: | cmake -S . -B build -G Ninja \ diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6b4458f06..3d18f15ac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,30 +33,10 @@ jobs: sudo apt-get install -y \ ninja-build pkg-config nasm \ qt6-base-dev qt6-base-dev-tools qt6-base-private-dev qt6-tools-dev qt6-tools-dev-tools \ + libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev \ libopencolorio-dev libopenimageio-dev libopenexr-dev libexpat1-dev \ portaudio19-dev libgl1-mesa-dev libxkbcommon-dev - - name: Build FFmpeg from source (Linux) - if: runner.os == 'Linux' - run: | - git clone --branch n8.1.1 --depth 1 https://git.ffmpeg.org/ffmpeg.git ffmpeg-src - cd ffmpeg-src - ./configure \ - --prefix="$PWD/../ffmpeg-install" \ - --enable-static \ - --disable-shared \ - --disable-doc \ - --disable-programs \ - --disable-avdevice \ - --disable-network \ - --enable-pic \ - --enable-gpl \ - --enable-version3 - make -j$(nproc) - make install - cd .. - echo "FFMPEG_ROOT=$PWD/ffmpeg-install" >> "$GITHUB_ENV" - # ------------------------------------------------------------------ # macOS dependencies # ------------------------------------------------------------------ @@ -115,7 +95,6 @@ jobs: -DBUILD_TESTS=ON \ -DBUILD_QT6=ON \ -DOCIO_LOCATION=/usr \ - -DFFMPEG_ROOT="${FFMPEG_ROOT}" \ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - name: Configure (macOS) diff --git a/CMakeLists.txt b/CMakeLists.txt index bc425c98e..4de9d9b9a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -191,7 +191,7 @@ list(APPEND OLIVE_LIBRARIES list(APPEND OLIVE_LIBRARIES OfxHost) # Link FFmpeg -find_package(FFMPEG 8.0 REQUIRED +find_package(FFMPEG 6.0 REQUIRED COMPONENTS avutil avcodec diff --git a/app/packaging/windows/nsis/olive.nsi b/app/packaging/windows/nsis/olive.nsi index cd75b21bb..d54bcb878 100644 --- a/app/packaging/windows/nsis/olive.nsi +++ b/app/packaging/windows/nsis/olive.nsi @@ -10,7 +10,7 @@ SetCompressor lzma -Name ${APP_NAME} +Name "${APP_NAME}" ManifestDPIAware true Unicode true