From f8668cb93cd11ab753ba67df7ff9a8f0dfa48d65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9drik=20Fuoco?= Date: Mon, 26 Aug 2024 12:51:17 -0400 Subject: [PATCH] Windows CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Cédrik Fuoco --- .github/workflows/ci.yml | 172 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..f40326d78 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,172 @@ +name: OpenRV + +on: + push: + branches: + - 'feature/**' + paths: + - .github/workflows/ci.yml + + pull_request: + branches: + - 'feature/**' + paths: + - .github/workflows/ci.yml + +jobs: + windows: + runs-on: windows-latest + # Strawberry perl is installed by default. + # Using aqt to install Qt 5.15.2 (latest binary release of Qt Op) + env: + MSYS2_PATH_TYPE: inherit + 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: | + echo "%PYTHONPATH%" + echo "%PATH%" + python -c "import sys; print(sys.executable)" + + - 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-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 + libtool + nasm + ninja + p7zip + patch + unzip + zip + + - name: List all msys2 installed package + run: | + pacman -Q + shell: msys2 {0} + + - name: Setup PATH environment variable + run: | + echo "PATH=C:/hostedtoolcache/windows/Python/3.10.11/x64:$PATH" >> $GITHUB_ENV + shell: msys2 {0} + + - name: Print PATH environment variable + run: | + echo $PATH + shell: msys2 {0} + + - name: Check Python executable location + run: | + which python + which python3 + shell: msys2 {0} + + # - 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:/" + # # Linux option only - false for Windows + # install-deps: 'false' + # modules: 'debug_info qtcharts qtnetworkauth qtquick3d qtquicktimeline qtscript qtwebengine qtwebglplugin' + # archives: 'd3dcompiler_47 opengl32sw qt3d qtactiveqt qtbase qtimageformats qtmultimedia qtquickcontrols qtquickcontrols2 qtscxml qtspeech qtsvg qttools qttranslations qtwebchannel qtwebsockets qtwebview qtwinextras qtxmlpatterns' + # #cache: ${{ steps.qt-cache.outputs.cache-hit != 'true' }} + # cache: true + # cache-key-prefix: 'install-qt-action' + # setup-python: 'false' + # tools: '' + # set-env: 'true' + # tools-only: 'false' + # aqtversion: '==3.1.*' + + # - name: Install pyenv + # run: | + # curl -fsSL https://pyenv-win.github.io/pyenv-win/install-pyenv-win.ps1 | powershell + # $env:PYENV_ROOT = "$HOME\.pyenv\pyenv-win" + # $env:PATH += ";$env:PYENV_ROOT\bin" + + # - name: Initialize pyenv + # run: | + # pyenv init - --path + + # - name: Install Python version + # run: | + # pyenv install 3.9.13 + # pyenv global 3.9.13 + + - name: Install pip + run: | + python -m ensurepip + shell: cmd + + - name: Install pyenv + run: | + python -m pip install pyenv-win + shell: cmd + + - name: Initialize pyenv + run: | + set PATH=C:\Users\runneradmin\.pyenv\pyenv-win\bin;%PATH% + dir C:\Users\runneradmin\.pyenv\pyenv-win\bin + pyenv init - --path + shell: cmd + + - name: Install Python with pyenv + run: | + pyenv install 3.10.11 + shell: msys2 {0} + + - name: Verify Python version + run: | + python --version + shell: msys2 {0} + + # - name: Cache pip packages + # uses: actions/cache@v3 + # with: + # path: "%USERPROFILE%/appdata/local/pip/cache" + # key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} + + # - name: Install pip + # run: | + # SETUPTOOLS_USE_DISTUTILS=stdlib python3 -m pip install --user --upgrade -r ./requirements.txt + # shell: msys2 {0} + + # export QT_HOME=c:/Qt/5.15.2/msvc2019_64 + # cmake -B _build -G Ninja -DCMAKE_BUILD_TYPE=Release -DRV_DEPS_QT5_LOCATION=$QT_HOME -DRV_VFX_PLATFORM=CY2023 \ No newline at end of file