try #1119
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI build | |
| on: | |
| push: | |
| release: | |
| types: | |
| - created | |
| jobs: | |
| # build-unix-native: | |
| # runs-on: ${{ matrix.os }} | |
| # strategy: | |
| # matrix: | |
| # os: [ubuntu-22.04, ubuntu-24.04] | |
| # steps: | |
| # - uses: actions/checkout@v4 | |
| # with: | |
| # submodules: true | |
| # - run: git fetch --prune --unshallow | |
| # - name: Install Linux packages | |
| # run: | | |
| # sudo apt-get update | |
| # sudo apt-get install qt6-base-dev | |
| # - name: Build | |
| # run: | | |
| # cd $GITHUB_WORKSPACE | |
| # mkdir build | |
| # cd build | |
| # qmake6 CONFIG+=UNITTESTS .. | |
| # make -j$(nproc) | |
| # - name: Run Unittests | |
| # run: $GITHUB_WORKSPACE/build/YUViewUnitTest/YUViewUnitTest | |
| # build-mac-native: | |
| # runs-on: ${{ matrix.os }} | |
| # strategy: | |
| # matrix: | |
| # os: [macos-13, macos-15] | |
| # steps: | |
| # - uses: actions/checkout@v4 | |
| # with: | |
| # submodules: true | |
| # - run: git fetch --prune --unshallow | |
| # - name: Install packages | |
| # run: brew install qt | |
| # - name: Build | |
| # run: | | |
| # cd $GITHUB_WORKSPACE | |
| # mkdir build | |
| # cd build | |
| # qmake6 CONFIG+=UNITTESTS .. | |
| # make -j $(sysctl -n hw.logicalcpu) | |
| # - name: Run Unittests | |
| # run: $GITHUB_WORKSPACE/build/YUViewUnitTest/YUViewUnitTest | |
| # build-linux-mac: | |
| # runs-on: ${{ matrix.os }} | |
| # strategy: | |
| # matrix: | |
| # os: [ubuntu-22.04, macos-13, macos-15] | |
| # steps: | |
| # - uses: actions/checkout@v4 | |
| # with: | |
| # submodules: true | |
| # - run: git fetch --prune --unshallow | |
| # - name: Set artifact name | |
| # id: artifacts | |
| # shell: bash | |
| # run: | | |
| # echo "qt=qtBase-6-9-0-${{ matrix.os }}" >> "$GITHUB_OUTPUT" | |
| # echo "outputZip=YUView-${{ matrix.os }}.zip" >> "$GITHUB_OUTPUT" | |
| # - name: Install Qt base | |
| # run: | | |
| # cd ../../ | |
| # mkdir -p YUViewQt/YUViewQt | |
| # cd YUViewQt/YUViewQt | |
| # curl -L https://github.com/ChristianFeldmann/YUViewQt/releases/download/QtBase-6.9.0/${{steps.artifacts.outputs.qt}}.zip -o Qt.zip | |
| # unzip -qa Qt.zip | |
| # echo "$GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin" >> $GITHUB_PATH | |
| # shell: bash | |
| # - name: Install Linuxdeployqt | |
| # if: runner.os == 'Linux' | |
| # run: | | |
| # curl -L https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage -o linuxdeployqt-6-x86_64.AppImage | |
| # chmod a+x linuxdeployqt-6-x86_64.AppImage | |
| # - name: Install Linux packages | |
| # if: runner.os == 'Linux' | |
| # run: | | |
| # sudo apt-get update | |
| # sudo apt-get install libgl1-mesa-dev libxkbcommon-x11-0 libpcre2-16-0 '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev libatspi2.0-dev libfuse2 | |
| # - name: Download libde265 (Linux) | |
| # if: runner.os == 'Linux' | |
| # run: curl -L https://github.com/ChristianFeldmann/libde265/releases/download/v1.1/libde265.so -o libde265-internals.so | |
| # - name: Download libde265 (Mac) | |
| # if: runner.os == 'macOS' | |
| # run: curl -L https://github.com/ChristianFeldmann/libde265/releases/download/v1.1/libde265.dylib -o libde265-internals.dylib | |
| # - name: Download libde265 license file | |
| # run: curl -L https://raw.githubusercontent.com/ChristianFeldmann/libde265/master/COPYING -o libde265License.txt | |
| # shell: bash | |
| # - name: Build (Qmake + Make) | |
| # run: | | |
| # cd $GITHUB_WORKSPACE | |
| # export PATH=$GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin:$PATH | |
| # mkdir build | |
| # cd build | |
| # qmake CONFIG+=UNITTESTS .. | |
| # make -j 4 | |
| # - name: Run Unittests | |
| # run: $GITHUB_WORKSPACE/build/YUViewUnitTest/YUViewUnitTest | |
| # - name: Build App (Mac) | |
| # if: runner.os == 'macOS' | |
| # run: | | |
| # macdeployqt build/YUViewApp/YUView.app -always-overwrite -verbose=2 | |
| # cp libde265-internals.dylib build/YUViewApp/YUView.app/Contents/MacOS/. | |
| # cd build/YUViewApp | |
| # # Zip | |
| # zip -r ${{steps.artifacts.outputs.outputZip}} YUView.app/ | |
| # mkdir $GITHUB_WORKSPACE/artifacts | |
| # cp ${{steps.artifacts.outputs.outputZip}} $GITHUB_WORKSPACE/artifacts/ | |
| # - name: Build Appimage (Linux) | |
| # if: runner.os == 'Linux' | |
| # run: | | |
| # cd build | |
| # make INSTALL_ROOT=appdir install | |
| # $GITHUB_WORKSPACE/linuxdeployqt-6-x86_64.AppImage YUViewApp/appdir/usr/local/share/applications/de.rwth_aachen.ient.YUView.desktop -appimage -bundle-non-qt-libs -verbose=2 | |
| # mv YUView-*.AppImage YUView.AppImage | |
| # mkdir $GITHUB_WORKSPACE/artifacts | |
| # cp YUView.AppImage $GITHUB_WORKSPACE/artifacts/ | |
| # - name: Upload Artifact | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: ${{steps.artifacts.outputs.outputZip}} | |
| # path: artifacts | |
| # - name: Release | |
| # uses: softprops/action-gh-release@v1 | |
| # if: startsWith(github.ref, 'refs/tags/') | |
| # with: | |
| # files: artifacts/${{steps.artifacts.outputs.outputZip}} | |
| build-windows: | |
| runs-on: windows-2022 | |
| strategy: | |
| matrix: | |
| autoUpdate: [true] | |
| steps: | |
| - name: Debug path | |
| run: | | |
| dir 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\v143' | |
| dir 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\v143\MergeModules' | |
| # - uses: actions/checkout@v4 | |
| # with: | |
| # submodules: true | |
| # - uses: ilammy/msvc-dev-cmd@v1 | |
| # - run: git fetch --prune --unshallow | |
| # - name: Install Qt base | |
| # run: | | |
| # cd ../../ | |
| # mkdir -p YUViewQt/YUViewQt | |
| # cd YUViewQt/YUViewQt | |
| # curl -L https://github.com/ChristianFeldmann/YUViewQt/releases/download/QtBase-6.9.0/qtBase-6-9-0-windows-2022.zip -o Qt.zip | |
| # 7z x Qt.zip | |
| # echo "${{ github.workspace }}\..\..\YUViewQt\YUViewQt\Qt\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
| # - name: Install libde265 | |
| # run: | | |
| # curl -L https://github.com/ChristianFeldmann/libde265/releases/download/v1.1/libde265.dll -o libde265.dll | |
| # curl -L https://raw.githubusercontent.com/ChristianFeldmann/libde265/master/COPYING -o libde265License.txt | |
| # - name: Install jom | |
| # run: | | |
| # choco install jom | |
| # - name: Install openSSL | |
| # run: | | |
| # mkdir openSSL | |
| # cd openSSL | |
| # curl -L https://github.com/ChristianFeldmann/YUViewQt/releases/download/openSSL3.5.0/openSSL-3-5-0-windows-2022.zip -o openSSL.zip | |
| # 7z x openSSL.zip | |
| # cd .. | |
| # - name: Activate auto update | |
| # if: matrix.autoUpdate == true | |
| # run: sed -i -- "s/#define UPDATE_FEATURE_ENABLE 0/#define UPDATE_FEATURE_ENABLE 1/g" YUViewLib/src/common/Typedef.h | |
| # shell: bash | |
| # - name: Build | |
| # run: | | |
| # echo "Creating Build dir and entering it" | |
| # mkdir build | |
| # cd build | |
| # echo "Qmake Version:" | |
| # d:\a\YUViewQt\YUViewQt\Qt\bin\qmake --version | |
| # echo "Executing qmake..." | |
| # d:\a\YUViewQt\YUViewQt\Qt\bin\qmake CONFIG+=UNITTESTS .. | |
| # echo "Executing jom:" | |
| # jom | |
| # - name: Run Unittests | |
| # run: D:\a\YUView\YUView\build\YUViewUnitTest\YUViewUnitTest | |
| # - name: WindeployQT | |
| # run: | | |
| # mkdir deploy | |
| # cd deploy | |
| # cp ../build/YUViewApp/YUView.exe . | |
| # d:\a\YUViewQt\YUViewQt\Qt\bin\windeployqt.exe --release --no-compiler-runtime YUView.exe | |
| # cp ../openSSL/*.dll . | |
| # mkdir decoder | |
| # cp ..\libde265.dll decoder | |
| # cp ..\libde265License.txt decoder | |
| # cp ../LICENSE.GPL3 . | |
| # cd .. | |
| # python deployment/versioning.py -d deploy -o deploy/versioninfo.txt | |
| # mkdir artifacts | |
| # 7z a artifacts/YUView-Win.zip ./deploy/* | |
| # - name: Wix Windows | |
| # if: matrix.autoUpdate == true | |
| # run: | | |
| # cd ${{ github.workspace }}/deployment/wix | |
| # cp 'C:\Program Files (x86)\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\v142\MergeModules\Microsoft_VC142_CRT_x64.msm' . | |
| # & "C:\Program Files (x86)\WiX Toolset v3.14\bin\heat.exe" dir ../../deploy -gg -dr APPLICATIONFOLDER -srd -sreg -cg YUViewComponents -out harvestedDirectory.wxs | |
| # & "C:\Program Files (x86)\WiX Toolset v3.14\bin\candle.exe" -dConfiguration=Release -dOutDir=bin/Release/ '-dTargetExt=.msi' '-dTargetFileName=YUViewSetup.msi' -dTargetName=YUViewSetup -out obj/Release/ -arch x64 -ext "C:\Program Files (x86)\WiX Toolset v3.14\bin\WixUIExtension.dll" YUView.wxs | |
| # & "C:\Program Files (x86)\WiX Toolset v3.14\bin\candle.exe" -dConfiguration=Release -dOutDir=bin/Release/ '-dTargetExt=.msi' '-dTargetFileName=YUViewSetup.msi' -dTargetName=YUViewSetup -out obj/Release/ -arch x64 harvestedDirectory.wxs | |
| # & "C:\Program Files (x86)\WiX Toolset v3.14\bin\light.exe" -b ../../deploy -out bin/Release/YUViewSetup.msi -pdbout bin/Release/YUViewSetup.wixpdb -cultures:null -ext "C:\Program Files (x86)\WiX Toolset v3.14\bin\WixUIExtension.dll" -contentsfile obj/Release/YUViewSetup.wixproj.BindContentsFileListnull.txt -outputsfile obj/Release/YUViewSetup.wixproj.BindOutputsFileListnull.txt -builtoutputsfile obj/Release/YUViewSetup.wixproj.BindBuiltOutputsFileListnull.txt obj/Release/YUView.wixobj obj/Release/harvestedDirectory.wixobj | |
| # cd ${{ github.workspace }} | |
| # cp deployment/wix/bin/Release/YUViewSetup.msi ./ | |
| # - name: Upload Artifact (Autoupdate) | |
| # if: matrix.autoUpdate == true | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: YUView-{{matrix.os}}-autoupdate.zip | |
| # path: artifacts | |
| # - name: Upload Artifact (Autoupdate disabled) | |
| # if: matrix.autoUpdate == false | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: YUView-{{matrix.os}}.zip | |
| # path: artifacts | |
| # - name: Upload Windows installer Artifact | |
| # if: matrix.autoUpdate == true | |
| # uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: YUViewSetup.msi | |
| # path: ./YUViewSetup.msi | |
| # - name: Release Zip | |
| # uses: softprops/action-gh-release@v1 | |
| # if: startsWith(github.ref, 'refs/tags/') | |
| # with: | |
| # files: artifacts/YUView-Win.zip | |
| # - name: Release Installer | |
| # uses: softprops/action-gh-release@v1 | |
| # if: startsWith(github.ref, 'refs/tags/') && matrix.autoUpdate == true | |
| # with: | |
| # files: YUViewSetup.msi | |
| # How to upload files to the release: | |
| # https://github.com/Blacksmoke16/oq/pull/47/files#diff-082c28d748ad2e3eecc5508d740d9417R9-R29 | |
| # Mime type list | |
| # https://www.iana.org/assignments/media-types/media-types.xhtml |