Skip to content

Windows CI

Windows CI #84

Workflow file for this run

name: OpenRV
# TODO: Pin workflow extension to specific commits for security
on:
push:
branches:
- 'feature/**'
paths:
- .github/workflows/ci.yml
pull_request:
branches:
- 'feature/**'
paths:
- .github/workflows/ci.yml
jobs:
macos:
runs-on: macos-latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Display Python installation location
run: |
python -c "import sys; print(sys.executable)"
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '5.15.2'
host: 'windows'
target: 'desktop'
arch: 'win64_msvc2019_64'
dir: "c:/"
install-deps: 'false'
modules: 'debug_info qtcharts qtdatavis3d qtlottie qtnetworkauth qtquick3d qtquicktimeline qtscript qtwebengine qtwebglplugin'
archives: 'd3dcompiler_47 opengl32sw qt3d qtactiveqt qtbase qtconnectivity qtdeclarative qtgraphicaleffects qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtremoteobjects qtscxml qtsensors qtsvg qttools qttranslations qtwebchannel qtwebsockets qtwebview qtwinextras qtxmlpatterns'
cache: true
cache-key-prefix: 'install-qt-action'
setup-python: 'false'
tools: 'tools_qtcreator'
set-env: 'true'
tools-only: 'false'
aqtversion: '==3.1.*'
- name: Install pip
run: |
python3 -m pip install --user --upgrade -r requirements.txt
- name: Restore Homebrew cache
uses: actions/cache@v3
id: brew-cache-restore
with:
path: ~/Library/Caches/Homebrew
key: ${{ runner.os }}-brew
- name: Install Homebrew
run: |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- name: Install dependencies
run: |
brew install cmake ninja readline sqlite3 xz zlib tcl-tk autoconf automake libtool python yasm clang-format black meson nasm pkg-config glew
windows:
runs-on: windows-latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup msys2
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
cache: true
install: >-
mingw-w64-x86_64-autotools
mingw-w64-x86_64-cmake
mingw-w64-x86_64-cmake-cmcldeps
mingw-w64-x86_64-glew
mingw-w64-x86_64-libarchive
mingw-w64-x86_64-make
mingw-w64-x86_64-meson
mingw-w64-x86_64-toolchain
autoconf
automake
bison
flex
git
libtool
nasm
p7zip
patch
unzip
zip
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Display Python installation location
run: |
python -c "import sys; print(sys.executable)"
- run: |
echo "export PATH=/c/hostedtoolcache/windows/Python/3.10.11/x64:/c/Strawberry/c/bin:/c/Strawberry/perl/site/bin:/c/Strawberry/perl/bin:/c/msys64/mingw64/bin:$PATH" >> ~/.bash_profile
shell: msys2 {0}
- run: |
echo $PATH
which python
which python3
shell: msys2 {0}
# Is that needed?
# - name: Prepare Qt folder
# run: |
# mkdir -p /c/qt
# shell: msys2 {0}
# - name: Cache Qt installation
# uses: actions/cache@v3
# id: qt-cache
# with:
# path: "c:/"
# key: ${{ runner.os }}-qt-${{ hashFiles('~/qt/**') }}
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '5.15.2'
host: 'windows'
target: 'desktop'
arch: 'win64_msvc2019_64'
dir: "c:/"
install-deps: 'false'
modules: 'debug_info qtcharts qtdatavis3d qtlottie qtnetworkauth qtquick3d qtquicktimeline qtscript qtwebengine qtwebglplugin'
archives: 'd3dcompiler_47 opengl32sw qt3d qtactiveqt qtbase qtconnectivity qtdeclarative qtgraphicaleffects qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtremoteobjects qtscxml qtsensors qtsvg qttools qttranslations qtwebchannel qtwebsockets qtwebview qtwinextras qtxmlpatterns'
cache: true
cache-key-prefix: 'install-qt-action'
setup-python: 'false'
tools: 'tools_qtcreator'
set-env: 'true'
tools-only: 'false'
aqtversion: '==3.1.*'
- name: Install pip
run: |
SETUPTOOLS_USE_DISTUTILS=stdlib python3 -m pip install --user --upgrade -r ./requirements.txt
shell: msys2 {0}
- name: Configure
run: |
which perl
export QT_HOME=c:/Qt/5.15.2/msvc2019_64
cmake -B _build -G "Visual Studio 17 2022" -A x64 -DRV_DEPS_WIN_PERL_ROOT=c:/Strawberry/perl/bin -DCMAKE_BUILD_TYPE=Release -DRV_DEPS_QT5_LOCATION=$QT_HOME -DRV_VFX_PLATFORM=CY2023
shell: msys2 {0}
- name: Build deps
run: |
cmake --build _build --config Release --target RV_DEPS_FFMPEG --parallel=1 -v
shell: msys2 {0}
id: build_deps
- name: Failure debugging
if: always()
run: |
ls -al ./_build/RV_DEPS_FFMPEG/src/ffbuild
cat ./_build/RV_DEPS_FFMPEG/src/ffbuild/config.log
shell: msys2 {0}
- name: Failure debugging
if: always()
run: |
cat ./_build/RV_DEPS_FFMPEG/src/ffbuild/ffmpeg.log
shell: msys2 {0}
# - name: Build main
# run: |
# cmake --build _build --config Release --target main_executable --parallel -v
# shell: msys2 {0}