Update CI/CD to use Ubuntu 24.04 and distro FFmpeg 6.x
This commit is contained in:
+13
-18
@@ -132,31 +132,26 @@ jobs:
|
|||||||
path: Oak-Video-Editor-macOS.dmg
|
path: Oak-Video-Editor-macOS.dmg
|
||||||
|
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
# Linux AppImage (Arch Linux — latest FFmpeg)
|
# Linux AppImage (Ubuntu 24.04 — distro FFmpeg 6.x)
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
appimage:
|
appimage:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-24.04
|
||||||
container:
|
|
||||||
image: archlinux:latest
|
|
||||||
steps:
|
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
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: true
|
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
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
cmake -S . -B build -G Ninja \
|
cmake -S . -B build -G Ninja \
|
||||||
|
|||||||
@@ -33,30 +33,10 @@ jobs:
|
|||||||
sudo apt-get install -y \
|
sudo apt-get install -y \
|
||||||
ninja-build pkg-config nasm \
|
ninja-build pkg-config nasm \
|
||||||
qt6-base-dev qt6-base-dev-tools qt6-base-private-dev qt6-tools-dev qt6-tools-dev-tools \
|
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 \
|
libopencolorio-dev libopenimageio-dev libopenexr-dev libexpat1-dev \
|
||||||
portaudio19-dev libgl1-mesa-dev libxkbcommon-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
|
# macOS dependencies
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
@@ -115,7 +95,6 @@ jobs:
|
|||||||
-DBUILD_TESTS=ON \
|
-DBUILD_TESTS=ON \
|
||||||
-DBUILD_QT6=ON \
|
-DBUILD_QT6=ON \
|
||||||
-DOCIO_LOCATION=/usr \
|
-DOCIO_LOCATION=/usr \
|
||||||
-DFFMPEG_ROOT="${FFMPEG_ROOT}" \
|
|
||||||
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||||||
|
|
||||||
- name: Configure (macOS)
|
- name: Configure (macOS)
|
||||||
|
|||||||
+1
-1
@@ -191,7 +191,7 @@ list(APPEND OLIVE_LIBRARIES
|
|||||||
list(APPEND OLIVE_LIBRARIES OfxHost)
|
list(APPEND OLIVE_LIBRARIES OfxHost)
|
||||||
|
|
||||||
# Link FFmpeg
|
# Link FFmpeg
|
||||||
find_package(FFMPEG 8.0 REQUIRED
|
find_package(FFMPEG 6.0 REQUIRED
|
||||||
COMPONENTS
|
COMPONENTS
|
||||||
avutil
|
avutil
|
||||||
avcodec
|
avcodec
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
SetCompressor lzma
|
SetCompressor lzma
|
||||||
|
|
||||||
Name ${APP_NAME}
|
Name "${APP_NAME}"
|
||||||
|
|
||||||
ManifestDPIAware true
|
ManifestDPIAware true
|
||||||
Unicode true
|
Unicode true
|
||||||
|
|||||||
Reference in New Issue
Block a user