diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..0111e6a90 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,183 @@ +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: | + 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-meson + # 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: Run command with modified PATH + run: + which python + which python3 + env: + PATH: "C:/hostedtoolcache/windows/Python/3.10.11/x64:$PATH" + shell: msys2 + + - 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: | + echo "PATH=C:/hostedtoolcache/windows/Python/3.10.11/x64/lib/site-packages/pyenv-win/bin:$PATH" >> $GITHUB_ENV + shell: msys2 {0} + + - name: Install Python with pyenv + run: | + pyenv install 3.10.5 + pyenv global 3.10.5 + pyenv which python + shell: msys2 {0} + + - name: Verify Python version + run: | + where python + python --version + where python3 + python3 --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