From 798f4aed09ab95b785cf6af05814df6d26e196e3 Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Sun, 23 Jul 2023 21:36:14 +0200 Subject: [PATCH 01/19] Update runners --- .github/workflows/Build.yml | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index f7b834445..1b553d66f 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -11,10 +11,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - include: - - os: ubuntu-18.04 - INSTALL_LIBS: libgl1-mesa-dev libxkbcommon-x11-0 libpcre2-16-0 qt5-default - QMAKE_COMMAND: qmake + include: - os: ubuntu-20.04 INSTALL_LIBS: libgl1-mesa-dev libxkbcommon-x11-0 libpcre2-16-0 qt5-default QMAKE_COMMAND: qmake @@ -61,23 +58,23 @@ jobs: strategy: matrix: include: - - os: ubuntu-18.04 + - os: ubuntu-20.04 QT_FILE: qtBase_5.15.1_bionic.zip LIBDE265_REMOTE: libde265.so LIBDE265_LOCAL: libde265-internals.so ARTIFACT_NAME: YUView.AppImage CPU_COUNT_COMMAND: nproc - - os: macos-10.15 + - os: macos-11 QT_FILE: qtBase_5.15.1_mac.zip LIBDE265_REMOTE: libde265.dylib LIBDE265_LOCAL: libde265-internals.dylib - ARTIFACT_NAME: YUView-Mac.zip + ARTIFACT_NAME: YUView-Mac-BigSur.zip CPU_COUNT_COMMAND: sysctl -n hw.logicalcpu - - os: macos-11.0 + - os: macos-12 QT_FILE: qtBase_5.15.1_mac.zip LIBDE265_REMOTE: libde265.dylib LIBDE265_LOCAL: libde265-internals.dylib - ARTIFACT_NAME: YUView-Mac-BigSur.zip + ARTIFACT_NAME: YUView-Mac-Monterey.zip CPU_COUNT_COMMAND: sysctl -n hw.logicalcpu steps: - uses: actions/checkout@v3 @@ -97,22 +94,22 @@ jobs: curl -L https://github.com/ChristianFeldmann/YUViewQt/releases/download/QtDeployTools-5.15.1/qtTools_5.15.1_mac.zip -o deployQt.zip unzip -qa deployQt.zip shell: bash - if: matrix.os == 'macos-10.15' || matrix.os == 'macos-11.0' + if: matrix.os == 'macos-11' || matrix.os == 'macos-12' - name: Install Macdeploy Qt run: | cp $GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qttools/bin/macdeployqt $GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin/macdeployqt strip $GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin/macdeployqt - if: matrix.os == 'macos-10.15' || matrix.os == 'macos-11.0' + if: matrix.os == 'macos-11' || matrix.os == 'macos-12' - name: Install Linuxdeployqt 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 - if: matrix.os == 'ubuntu-18.04' + if: matrix.os == 'ubuntu-20.04' - name: Install Linux packages 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 - if: matrix.os == 'ubuntu-16.04' || matrix.os == 'ubuntu-18.04' + if: matrix.os == 'ubuntu-20.04' - name: Install libde265 run: | curl -L https://github.com/ChristianFeldmann/libde265/releases/download/v1.1/${{matrix.LIBDE265_REMOTE}} -o ${{matrix.LIBDE265_LOCAL}} @@ -136,7 +133,7 @@ jobs: zip -r ${{matrix.ARTIFACT_NAME}} YUView.app/ mkdir $GITHUB_WORKSPACE/artifacts cp ${{matrix.ARTIFACT_NAME}} $GITHUB_WORKSPACE/artifacts/ - if: matrix.os == 'macos-10.15' || matrix.os == 'macos-11.0' + if: matrix.os == 'macos-11' || matrix.os == 'macos-12' - name: Build Appimage (Linux) run: | cd build @@ -149,7 +146,7 @@ jobs: ls -l cd $GITHUB_WORKSPACE/artifacts ls -l - if: matrix.os == 'ubuntu-18.04' + if: matrix.os == 'ubuntu-20.04' - name: Upload Artifact uses: actions/upload-artifact@v2 with: From bae5ad27ee0b185d77024288841ee20e6cdfac59 Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Tue, 29 Aug 2023 16:52:46 +0200 Subject: [PATCH 02/19] Update qtbase --- .github/workflows/Build.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 1b553d66f..521713358 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -59,19 +59,25 @@ jobs: matrix: include: - os: ubuntu-20.04 - QT_FILE: qtBase_5.15.1_bionic.zip + QT_FILE: qtBase_6.5.2_ubuntu20.zip + LIBDE265_REMOTE: libde265.so + LIBDE265_LOCAL: libde265-internals.so + ARTIFACT_NAME: YUView.AppImage + CPU_COUNT_COMMAND: nproc + - os: ubuntu-22.04 + QT_FILE: qtBase_6.5.2_ubuntu22.zip LIBDE265_REMOTE: libde265.so LIBDE265_LOCAL: libde265-internals.so ARTIFACT_NAME: YUView.AppImage CPU_COUNT_COMMAND: nproc - os: macos-11 - QT_FILE: qtBase_5.15.1_mac.zip + QT_FILE: qtBase_6.5.2_mac11.zip LIBDE265_REMOTE: libde265.dylib LIBDE265_LOCAL: libde265-internals.dylib ARTIFACT_NAME: YUView-Mac-BigSur.zip CPU_COUNT_COMMAND: sysctl -n hw.logicalcpu - os: macos-12 - QT_FILE: qtBase_5.15.1_mac.zip + QT_FILE: qtBase_6.5.2_mac12.zip LIBDE265_REMOTE: libde265.dylib LIBDE265_LOCAL: libde265-internals.dylib ARTIFACT_NAME: YUView-Mac-Monterey.zip @@ -84,7 +90,7 @@ jobs: cd ../../ mkdir -p YUViewQt/YUViewQt cd YUViewQt/YUViewQt - curl -L https://github.com/ChristianFeldmann/YUViewQt/releases/download/QtBase-5.15.1/${{matrix.QT_FILE}} -o Qt.zip + curl -L https://github.com/ChristianFeldmann/YUViewQt/releases/download/QtBase-6.5.2/${{matrix.QT_FILE}} -o Qt.zip unzip -qa Qt.zip echo "$GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin" >> $GITHUB_PATH shell: bash @@ -170,9 +176,11 @@ jobs: - os: windows-2019 auto_update: true ARTIFACT_NAME: YUView-Win.zip + QT_FILE: qtBase_6.5.2_win2019.zip - os: windows-2019 auto_update: false ARTIFACT_NAME: YUView-Win-noautoupdate.zip + QT_FILE: qtBase_6.5.2_win2019.zip steps: - uses: actions/checkout@v3 - run: git fetch --prune --unshallow @@ -181,7 +189,7 @@ jobs: cd ../../ mkdir -p YUViewQt/YUViewQt cd YUViewQt/YUViewQt - curl -L https://github.com/ChristianFeldmann/YUViewQt/releases/download/QtBase-5.15.1/qtBase_5.15.1_win.zip -o Qt.zip + curl -L https://github.com/ChristianFeldmann/YUViewQt/releases/download/QtBase-6.5.2/${{matrix.QT_FILE}} -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 Qt deploy tools From 010fcd56e57d097730b8b19efdeb5940b8368e47 Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Tue, 29 Aug 2023 17:13:31 +0200 Subject: [PATCH 03/19] Try fixing our version compilers --- .github/workflows/Build.yml | 101 +++++++++++++++++++----------------- 1 file changed, 52 insertions(+), 49 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 521713358..76694e413 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -7,52 +7,52 @@ on: - created jobs: - build-unix-native: - runs-on: ${{ matrix.os }} - strategy: - matrix: - include: - - os: ubuntu-20.04 - INSTALL_LIBS: libgl1-mesa-dev libxkbcommon-x11-0 libpcre2-16-0 qt5-default - QMAKE_COMMAND: qmake - - os: ubuntu-22.04 - INSTALL_LIBS: qt6-base-dev - QMAKE_COMMAND: qmake6 - steps: - - uses: actions/checkout@v3 - - run: git fetch --prune --unshallow - - name: Install Linux packages - run: | - sudo apt-get update - sudo apt-get install ${{matrix.INSTALL_LIBS}} - - name: Build - run: | - cd $GITHUB_WORKSPACE - mkdir build - cd build - ${{matrix.QMAKE_COMMAND}} CONFIG+=UNITTESTS .. - make -j$(nproc) - make check - build-mac-native: - runs-on: ${{ matrix.os }} - strategy: - matrix: - include: - - os: macos-12 - steps: - - uses: actions/checkout@v3 - - 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) - make check + # build-unix-native: + # runs-on: ${{ matrix.os }} + # strategy: + # matrix: + # include: + # - os: ubuntu-20.04 + # INSTALL_LIBS: libgl1-mesa-dev libxkbcommon-x11-0 libpcre2-16-0 qt5-default + # QMAKE_COMMAND: qmake + # - os: ubuntu-22.04 + # INSTALL_LIBS: qt6-base-dev + # QMAKE_COMMAND: qmake6 + # steps: + # - uses: actions/checkout@v3 + # - run: git fetch --prune --unshallow + # - name: Install Linux packages + # run: | + # sudo apt-get update + # sudo apt-get install ${{matrix.INSTALL_LIBS}} + # - name: Build + # run: | + # cd $GITHUB_WORKSPACE + # mkdir build + # cd build + # ${{matrix.QMAKE_COMMAND}} CONFIG+=UNITTESTS .. + # make -j$(nproc) + # make check + # build-mac-native: + # runs-on: ${{ matrix.os }} + # strategy: + # matrix: + # include: + # - os: macos-12 + # steps: + # - uses: actions/checkout@v3 + # - 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) + # make check build-unix: runs-on: ${{ matrix.os }} strategy: @@ -110,12 +110,12 @@ jobs: 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 - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-20.04' || matrix.os == "ubuntu-22.04" - name: Install Linux packages 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 - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-20.04' || matrix.os == "ubuntu-22.04" - name: Install libde265 run: | curl -L https://github.com/ChristianFeldmann/libde265/releases/download/v1.1/${{matrix.LIBDE265_REMOTE}} -o ${{matrix.LIBDE265_LOCAL}} @@ -152,7 +152,7 @@ jobs: ls -l cd $GITHUB_WORKSPACE/artifacts ls -l - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-20.04' || matrix.os == "ubuntu-22.04" - name: Upload Artifact uses: actions/upload-artifact@v2 with: @@ -222,8 +222,11 @@ jobs: - name: Build run: | mkdir build + dir cd build + dir d:\a\YUViewQt\YUViewQt\Qt\bin\qmake CONFIG+=UNITTESTS .. + dir jom - name: Run tests run: | From cf401593113ffb09a40d36084b5a8ef286e20386 Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Tue, 29 Aug 2023 17:17:18 +0200 Subject: [PATCH 04/19] Fix file syntax --- .github/workflows/Build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 76694e413..f7e813b08 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -110,12 +110,12 @@ jobs: 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 - if: matrix.os == 'ubuntu-20.04' || matrix.os == "ubuntu-22.04" + if: matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-22.04' - name: Install Linux packages 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 - if: matrix.os == 'ubuntu-20.04' || matrix.os == "ubuntu-22.04" + if: matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-22.04' - name: Install libde265 run: | curl -L https://github.com/ChristianFeldmann/libde265/releases/download/v1.1/${{matrix.LIBDE265_REMOTE}} -o ${{matrix.LIBDE265_LOCAL}} From 9397aa7940bf9e029e75f3e001439d05f829bc11 Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Tue, 29 Aug 2023 17:18:16 +0200 Subject: [PATCH 05/19] Another syntax fix --- .github/workflows/Build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index f7e813b08..bd3f3bd1e 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -152,7 +152,7 @@ jobs: ls -l cd $GITHUB_WORKSPACE/artifacts ls -l - if: matrix.os == 'ubuntu-20.04' || matrix.os == "ubuntu-22.04" + if: matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-22.04' - name: Upload Artifact uses: actions/upload-artifact@v2 with: From ec4a0a2017a83b9011502e0f6c84bd8a805c9ca7 Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Tue, 29 Aug 2023 17:36:21 +0200 Subject: [PATCH 06/19] Next try --- .github/workflows/Build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index bd3f3bd1e..7dc75f5b1 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -114,7 +114,7 @@ jobs: - name: Install Linux packages 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 + 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 if: matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-22.04' - name: Install libde265 run: | @@ -183,6 +183,7 @@ jobs: QT_FILE: qtBase_6.5.2_win2019.zip steps: - uses: actions/checkout@v3 + - uses: ilammy/msvc-dev-cmd@v1 - run: git fetch --prune --unshallow - name: Install Qt base run: | @@ -217,13 +218,12 @@ jobs: run: sed -i -- "s/#define UPDATE_FEATURE_ENABLE 0/#define UPDATE_FEATURE_ENABLE 1/g" YUViewLib/src/common/Typedef.h shell: bash if: matrix.auto_update == true - - name: Set up Visual Studio shell - uses: egor-tensin/vs-shell@v2 - name: Build run: | mkdir build dir cd build + d:\a\YUViewQt\YUViewQt\Qt\bin\qmake --version dir d:\a\YUViewQt\YUViewQt\Qt\bin\qmake CONFIG+=UNITTESTS .. dir From 2e4715ec87fea461d2d11e1f7fe70813453cafcd Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Wed, 30 Aug 2023 10:32:39 +0200 Subject: [PATCH 07/19] Remove 22.04 from regular Qt build. Test more on windws. --- .github/workflows/Build.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 7dc75f5b1..d36c3cde9 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -64,12 +64,6 @@ jobs: LIBDE265_LOCAL: libde265-internals.so ARTIFACT_NAME: YUView.AppImage CPU_COUNT_COMMAND: nproc - - os: ubuntu-22.04 - QT_FILE: qtBase_6.5.2_ubuntu22.zip - LIBDE265_REMOTE: libde265.so - LIBDE265_LOCAL: libde265-internals.so - ARTIFACT_NAME: YUView.AppImage - CPU_COUNT_COMMAND: nproc - os: macos-11 QT_FILE: qtBase_6.5.2_mac11.zip LIBDE265_REMOTE: libde265.dylib @@ -220,13 +214,18 @@ jobs: if: matrix.auto_update == true - name: Build run: | + echo "Creating Build dir" mkdir build dir + echo "Entering build dir" cd build + echo "Qmake Version:" d:\a\YUViewQt\YUViewQt\Qt\bin\qmake --version dir + echo "Executing qmake..." d:\a\YUViewQt\YUViewQt\Qt\bin\qmake CONFIG+=UNITTESTS .. dir + echo "Executing jom:" jom - name: Run tests run: | From f34436cb8e31816099929faec210b677ee83854b Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Wed, 30 Aug 2023 10:56:51 +0200 Subject: [PATCH 08/19] Don't install deploy tool on mac. Try nmake on windows. --- .github/workflows/Build.yml | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index d36c3cde9..4d5ddeb64 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -88,13 +88,6 @@ jobs: unzip -qa Qt.zip echo "$GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin" >> $GITHUB_PATH shell: bash - - name: Install MacDeployQT - run: | - cd $GITHUB_WORKSPACE/../../YUViewQt/YUViewQt - curl -L https://github.com/ChristianFeldmann/YUViewQt/releases/download/QtDeployTools-5.15.1/qtTools_5.15.1_mac.zip -o deployQt.zip - unzip -qa deployQt.zip - shell: bash - if: matrix.os == 'macos-11' || matrix.os == 'macos-12' - name: Install Macdeploy Qt run: | cp $GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qttools/bin/macdeployqt $GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin/macdeployqt @@ -104,12 +97,12 @@ jobs: 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 - if: matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-22.04' + if: matrix.os == 'ubuntu-20.04' - name: Install Linux packages 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 - if: matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-22.04' + if: matrix.os == 'ubuntu-20.04' - name: Install libde265 run: | curl -L https://github.com/ChristianFeldmann/libde265/releases/download/v1.1/${{matrix.LIBDE265_REMOTE}} -o ${{matrix.LIBDE265_LOCAL}} @@ -146,7 +139,7 @@ jobs: ls -l cd $GITHUB_WORKSPACE/artifacts ls -l - if: matrix.os == 'ubuntu-20.04' || matrix.os == 'ubuntu-22.04' + if: matrix.os == 'ubuntu-20.04' - name: Upload Artifact uses: actions/upload-artifact@v2 with: @@ -187,11 +180,6 @@ jobs: curl -L https://github.com/ChristianFeldmann/YUViewQt/releases/download/QtBase-6.5.2/${{matrix.QT_FILE}} -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 Qt deploy tools - run: | - cd ../../YUViewQt/YUViewQt - curl -L https://github.com/ChristianFeldmann/YUViewQt/releases/download/QtDeployTools-5.15.1/qtTools_5.15.1_win.zip -o deployQt.zip - 7z x deployQt.zip - name: Install libde265 run: | curl -L https://github.com/ChristianFeldmann/libde265/releases/download/v1.1/libde265.dll -o libde265.dll @@ -225,8 +213,8 @@ jobs: echo "Executing qmake..." d:\a\YUViewQt\YUViewQt\Qt\bin\qmake CONFIG+=UNITTESTS .. dir - echo "Executing jom:" - jom + echo "Executing namek:" + nmake - name: Run tests run: | cd build From e057f8eb444af19dd56d93b6fc3e8a4255ed0834 Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Wed, 30 Aug 2023 11:06:28 +0200 Subject: [PATCH 09/19] Remove unused install of macdeplyqt --- .github/workflows/Build.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 4d5ddeb64..289dea50a 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -88,11 +88,6 @@ jobs: unzip -qa Qt.zip echo "$GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin" >> $GITHUB_PATH shell: bash - - name: Install Macdeploy Qt - run: | - cp $GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qttools/bin/macdeployqt $GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin/macdeployqt - strip $GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin/macdeployqt - if: matrix.os == 'macos-11' || matrix.os == 'macos-12' - name: Install Linuxdeployqt run: | curl -L https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage -o linuxdeployqt-6-x86_64.AppImage From 27c04ce16356409eab8c8ee7bbee212d6fd6ed3b Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Wed, 30 Aug 2023 11:21:15 +0200 Subject: [PATCH 10/19] Try jom again --- .github/workflows/Build.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 289dea50a..3b3589521 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -199,17 +199,16 @@ jobs: run: | echo "Creating Build dir" mkdir build - dir echo "Entering build dir" cd build echo "Qmake Version:" d:\a\YUViewQt\YUViewQt\Qt\bin\qmake --version - dir echo "Executing qmake..." d:\a\YUViewQt\YUViewQt\Qt\bin\qmake CONFIG+=UNITTESTS .. - dir - echo "Executing namek:" - nmake + echo "Jom Version:" + d:\a\YUViewQt\YUViewQt\Qt\bin\jom.exe /VERSION + echo "Executing jom:" + d:\a\YUViewQt\YUViewQt\Qt\bin\jom.exe - name: Run tests run: | cd build @@ -220,7 +219,7 @@ jobs: mkdir deploy cd deploy cp ../build/YUViewApp/YUView.exe . - d:\a\YUViewQt\YUViewQt\Qttools\bin\windeployqt.exe --release --no-compiler-runtime 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 From 6437404d70374e99d1d488f1d035bbe91e06585a Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Wed, 30 Aug 2023 11:46:46 +0200 Subject: [PATCH 11/19] Next try windows --- .github/workflows/Build.yml | 201 ++++++++++++++++++------------------ 1 file changed, 102 insertions(+), 99 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 3b3589521..5cd8b0b5e 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -53,103 +53,103 @@ jobs: # qmake6 CONFIG+=UNITTESTS .. # make -j $(sysctl -n hw.logicalcpu) # make check - build-unix: - runs-on: ${{ matrix.os }} - strategy: - matrix: - include: - - os: ubuntu-20.04 - QT_FILE: qtBase_6.5.2_ubuntu20.zip - LIBDE265_REMOTE: libde265.so - LIBDE265_LOCAL: libde265-internals.so - ARTIFACT_NAME: YUView.AppImage - CPU_COUNT_COMMAND: nproc - - os: macos-11 - QT_FILE: qtBase_6.5.2_mac11.zip - LIBDE265_REMOTE: libde265.dylib - LIBDE265_LOCAL: libde265-internals.dylib - ARTIFACT_NAME: YUView-Mac-BigSur.zip - CPU_COUNT_COMMAND: sysctl -n hw.logicalcpu - - os: macos-12 - QT_FILE: qtBase_6.5.2_mac12.zip - LIBDE265_REMOTE: libde265.dylib - LIBDE265_LOCAL: libde265-internals.dylib - ARTIFACT_NAME: YUView-Mac-Monterey.zip - CPU_COUNT_COMMAND: sysctl -n hw.logicalcpu - steps: - - uses: actions/checkout@v3 - - 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.5.2/${{matrix.QT_FILE}} -o Qt.zip - unzip -qa Qt.zip - echo "$GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin" >> $GITHUB_PATH - shell: bash - - name: Install Linuxdeployqt - 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 - if: matrix.os == 'ubuntu-20.04' - - name: Install Linux packages - 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 - if: matrix.os == 'ubuntu-20.04' - - name: Install libde265 - run: | - curl -L https://github.com/ChristianFeldmann/libde265/releases/download/v1.1/${{matrix.LIBDE265_REMOTE}} -o ${{matrix.LIBDE265_LOCAL}} - curl -L https://raw.githubusercontent.com/ChristianFeldmann/libde265/master/COPYING -o libde265License.txt - shell: bash - - name: Build Linux/Mac - run: | - cd $GITHUB_WORKSPACE - export PATH=$GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin:$PATH - mkdir build - cd build - qmake CONFIG+=UNITTESTS .. - make -j $(${{matrix.CPU_COUNT_COMMAND}}) - make check - - name: Build App (Mac) - run: | - macdeployqt build/YUViewApp/YUView.app -always-overwrite -verbose=2 - cp ${{matrix.LIBDE265_LOCAL}} build/YUViewApp/YUView.app/Contents/MacOS/. - cd build/YUViewApp - # Zip - zip -r ${{matrix.ARTIFACT_NAME}} YUView.app/ - mkdir $GITHUB_WORKSPACE/artifacts - cp ${{matrix.ARTIFACT_NAME}} $GITHUB_WORKSPACE/artifacts/ - if: matrix.os == 'macos-11' || matrix.os == 'macos-12' - - name: Build Appimage (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/ - cd $GITHUB_WORKSPACE - ls -l - cd $GITHUB_WORKSPACE/artifacts - ls -l - if: matrix.os == 'ubuntu-20.04' - - name: Upload Artifact - uses: actions/upload-artifact@v2 - with: - name: ${{matrix.ARTIFACT_NAME}} - path: artifacts - - name: Upload Release - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: artifacts/${{matrix.ARTIFACT_NAME}} - asset_name: ${{matrix.ARTIFACT_NAME}} - asset_content_type: application/zip - if: github.event_name == 'release' + # build-unix: + # runs-on: ${{ matrix.os }} + # strategy: + # matrix: + # include: + # - os: ubuntu-20.04 + # QT_FILE: qtBase_6.5.2_ubuntu20.zip + # LIBDE265_REMOTE: libde265.so + # LIBDE265_LOCAL: libde265-internals.so + # ARTIFACT_NAME: YUView.Ubuntu20.AppImage + # CPU_COUNT_COMMAND: nproc + # - os: macos-11 + # QT_FILE: qtBase_6.5.2_mac11.zip + # LIBDE265_REMOTE: libde265.dylib + # LIBDE265_LOCAL: libde265-internals.dylib + # ARTIFACT_NAME: YUView-Mac11-BigSur.zip + # CPU_COUNT_COMMAND: sysctl -n hw.logicalcpu + # - os: macos-12 + # QT_FILE: qtBase_6.5.2_mac12.zip + # LIBDE265_REMOTE: libde265.dylib + # LIBDE265_LOCAL: libde265-internals.dylib + # ARTIFACT_NAME: YUView-Mac12-Monterey.zip + # CPU_COUNT_COMMAND: sysctl -n hw.logicalcpu + # steps: + # - uses: actions/checkout@v3 + # - 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.5.2/${{matrix.QT_FILE}} -o Qt.zip + # unzip -qa Qt.zip + # echo "$GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin" >> $GITHUB_PATH + # shell: bash + # - name: Install Linuxdeployqt + # 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 + # if: matrix.os == 'ubuntu-20.04' + # - name: Install Linux packages + # 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 + # if: matrix.os == 'ubuntu-20.04' + # - name: Install libde265 + # run: | + # curl -L https://github.com/ChristianFeldmann/libde265/releases/download/v1.1/${{matrix.LIBDE265_REMOTE}} -o ${{matrix.LIBDE265_LOCAL}} + # curl -L https://raw.githubusercontent.com/ChristianFeldmann/libde265/master/COPYING -o libde265License.txt + # shell: bash + # - name: Build Linux/Mac + # run: | + # cd $GITHUB_WORKSPACE + # export PATH=$GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin:$PATH + # mkdir build + # cd build + # qmake CONFIG+=UNITTESTS .. + # make -j $(${{matrix.CPU_COUNT_COMMAND}}) + # make check + # - name: Build App (Mac) + # run: | + # macdeployqt build/YUViewApp/YUView.app -always-overwrite -verbose=2 + # cp ${{matrix.LIBDE265_LOCAL}} build/YUViewApp/YUView.app/Contents/MacOS/. + # cd build/YUViewApp + # # Zip + # zip -r ${{matrix.ARTIFACT_NAME}} YUView.app/ + # mkdir $GITHUB_WORKSPACE/artifacts + # cp ${{matrix.ARTIFACT_NAME}} $GITHUB_WORKSPACE/artifacts/ + # if: matrix.os == 'macos-11' || matrix.os == 'macos-12' + # - name: Build Appimage (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/ + # cd $GITHUB_WORKSPACE + # ls -l + # cd $GITHUB_WORKSPACE/artifacts + # ls -l + # if: matrix.os == 'ubuntu-20.04' + # - name: Upload Artifact + # uses: actions/upload-artifact@v2 + # with: + # name: ${{matrix.ARTIFACT_NAME}} + # path: artifacts + # - name: Upload Release + # uses: actions/upload-release-asset@v1.0.1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # upload_url: ${{ github.event.release.upload_url }} + # asset_path: artifacts/${{matrix.ARTIFACT_NAME}} + # asset_name: ${{matrix.ARTIFACT_NAME}} + # asset_content_type: application/zip + # if: github.event_name == 'release' build-windows: runs-on: ${{ matrix.os }} strategy: @@ -157,11 +157,11 @@ jobs: include: - os: windows-2019 auto_update: true - ARTIFACT_NAME: YUView-Win.zip + ARTIFACT_NAME: YUView-Win2019.zip QT_FILE: qtBase_6.5.2_win2019.zip - os: windows-2019 auto_update: false - ARTIFACT_NAME: YUView-Win-noautoupdate.zip + ARTIFACT_NAME: YUView-Win2019-noautoupdate.zip QT_FILE: qtBase_6.5.2_win2019.zip steps: - uses: actions/checkout@v3 @@ -207,6 +207,9 @@ jobs: d:\a\YUViewQt\YUViewQt\Qt\bin\qmake CONFIG+=UNITTESTS .. echo "Jom Version:" d:\a\YUViewQt\YUViewQt\Qt\bin\jom.exe /VERSION + dir d:\a\YUViewQt\YUViewQt\Qt\bin\jom.exe + echo "Jom Makefile info:" + d:\a\YUViewQt\YUViewQt\Qt\bin\jom.exe /D echo "Executing jom:" d:\a\YUViewQt\YUViewQt\Qt\bin\jom.exe - name: Run tests From 871824dec8b2fefeaf594176564baaf8d29370fd Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Wed, 30 Aug 2023 12:01:06 +0200 Subject: [PATCH 12/19] Test choco jom --- .github/workflows/Build.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 5cd8b0b5e..462879638 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -181,9 +181,7 @@ jobs: curl -L https://raw.githubusercontent.com/ChristianFeldmann/libde265/master/COPYING -o libde265License.txt - name: Install jom run: | - Get-Location - curl -L https://github.com/ChristianFeldmann/jom/releases/download/v1.1.3-build/jom.exe -o jom.exe - cp jom.exe ../../YUViewQt/YUViewQt/Qt/bin/ + choco install jom - name: Install openSSL run: | mkdir openSSL @@ -206,12 +204,11 @@ jobs: echo "Executing qmake..." d:\a\YUViewQt\YUViewQt\Qt\bin\qmake CONFIG+=UNITTESTS .. echo "Jom Version:" - d:\a\YUViewQt\YUViewQt\Qt\bin\jom.exe /VERSION - dir d:\a\YUViewQt\YUViewQt\Qt\bin\jom.exe + jom /VERSION echo "Jom Makefile info:" - d:\a\YUViewQt\YUViewQt\Qt\bin\jom.exe /D + jom /D echo "Executing jom:" - d:\a\YUViewQt\YUViewQt\Qt\bin\jom.exe + jom - name: Run tests run: | cd build From 96d6c13009a623cc4a61fb9992e2e426e408ddab Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Wed, 30 Aug 2023 12:30:57 +0200 Subject: [PATCH 13/19] Debug wix --- .github/workflows/Build.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 462879638..ad28a00b3 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -193,6 +193,9 @@ jobs: run: sed -i -- "s/#define UPDATE_FEATURE_ENABLE 0/#define UPDATE_FEATURE_ENABLE 1/g" YUViewLib/src/common/Typedef.h shell: bash if: matrix.auto_update == true + - name: Debug wix path + run: | + echo "Wix path: ${{ env.WIX }}" - name: Build run: | echo "Creating Build dir" @@ -233,10 +236,10 @@ jobs: run: | cd ${{ github.workspace }}/deployment/wix cp 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\v142\MergeModules\Microsoft_VC142_CRT_x64.msm' . - & "${{ env.WIX }}\bin\heat.exe" dir ../../deploy -gg -dr APPLICATIONFOLDER -srd -sreg -cg YUViewComponents -out harvestedDirectory.wxs - & "${{ env.WIX }}\bin\candle.exe" -dConfiguration=Release -dOutDir=bin/Release/ '-dTargetExt=.msi' '-dTargetFileName=YUViewSetup.msi' -dTargetName=YUViewSetup -out obj/Release/ -arch x64 -ext "${{ env.WIX }}\bin\WixUIExtension.dll" YUView.wxs - & "${{ env.WIX }}\bin\candle.exe" -dConfiguration=Release -dOutDir=bin/Release/ '-dTargetExt=.msi' '-dTargetFileName=YUViewSetup.msi' -dTargetName=YUViewSetup -out obj/Release/ -arch x64 harvestedDirectory.wxs - & "${{ env.WIX }}\bin\Light.exe" -b ../../deploy -out bin/Release/YUViewSetup.msi -pdbout bin/Release/YUViewSetup.wixpdb -cultures:null -ext "${{ env.WIX }}\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 + & "heat.exe" dir ../../deploy -gg -dr APPLICATIONFOLDER -srd -sreg -cg YUViewComponents -out harvestedDirectory.wxs + & "candle.exe" -dConfiguration=Release -dOutDir=bin/Release/ '-dTargetExt=.msi' '-dTargetFileName=YUViewSetup.msi' -dTargetName=YUViewSetup -out obj/Release/ -arch x64 -ext "${{ env.WIX }}\bin\WixUIExtension.dll" YUView.wxs + & "candle.exe" -dConfiguration=Release -dOutDir=bin/Release/ '-dTargetExt=.msi' '-dTargetFileName=YUViewSetup.msi' -dTargetName=YUViewSetup -out obj/Release/ -arch x64 harvestedDirectory.wxs + & "Light.exe" -b ../../deploy -out bin/Release/YUViewSetup.msi -pdbout bin/Release/YUViewSetup.wixpdb -cultures:null -ext "${{ env.WIX }}\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 ./ if: matrix.auto_update == true From 68c3e9dbec079192f663c35175d6150d7273986e Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Wed, 30 Aug 2023 13:47:24 +0200 Subject: [PATCH 14/19] Debug wix path --- .github/workflows/Build.yml | 97 +++++++++++++++++++------------------ 1 file changed, 50 insertions(+), 47 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index ad28a00b3..ddb6b74b1 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -196,53 +196,56 @@ jobs: - name: Debug wix path run: | echo "Wix path: ${{ env.WIX }}" - - name: Build - run: | - echo "Creating Build dir" - mkdir build - echo "Entering build dir" - 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 "Jom Version:" - jom /VERSION - echo "Jom Makefile info:" - jom /D - echo "Executing jom:" - jom - - name: Run tests - run: | - cd build - nmake check - cd .. - - 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 - run: | - cd ${{ github.workspace }}/deployment/wix - cp 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\v142\MergeModules\Microsoft_VC142_CRT_x64.msm' . - & "heat.exe" dir ../../deploy -gg -dr APPLICATIONFOLDER -srd -sreg -cg YUViewComponents -out harvestedDirectory.wxs - & "candle.exe" -dConfiguration=Release -dOutDir=bin/Release/ '-dTargetExt=.msi' '-dTargetFileName=YUViewSetup.msi' -dTargetName=YUViewSetup -out obj/Release/ -arch x64 -ext "${{ env.WIX }}\bin\WixUIExtension.dll" YUView.wxs - & "candle.exe" -dConfiguration=Release -dOutDir=bin/Release/ '-dTargetExt=.msi' '-dTargetFileName=YUViewSetup.msi' -dTargetName=YUViewSetup -out obj/Release/ -arch x64 harvestedDirectory.wxs - & "Light.exe" -b ../../deploy -out bin/Release/YUViewSetup.msi -pdbout bin/Release/YUViewSetup.wixpdb -cultures:null -ext "${{ env.WIX }}\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 ./ - if: matrix.auto_update == true + dir 'C:\Program Files (x86)\' + dir 'C:\Program Files (x86)\WiX Toolset v3.11' + dir 'C:\Program Files (x86)\WiX Toolset v3.11\bin' + # - name: Build + # run: | + # echo "Creating Build dir" + # mkdir build + # echo "Entering build dir" + # 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 "Jom Version:" + # jom /VERSION + # echo "Jom Makefile info:" + # jom /D + # echo "Executing jom:" + # jom + # - name: Run tests + # run: | + # cd build + # nmake check + # cd .. + # - 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 + # run: | + # cd ${{ github.workspace }}/deployment/wix + # cp 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\v142\MergeModules\Microsoft_VC142_CRT_x64.msm' . + # & "heat.exe" dir ../../deploy -gg -dr APPLICATIONFOLDER -srd -sreg -cg YUViewComponents -out harvestedDirectory.wxs + # & "candle.exe" -dConfiguration=Release -dOutDir=bin/Release/ '-dTargetExt=.msi' '-dTargetFileName=YUViewSetup.msi' -dTargetName=YUViewSetup -out obj/Release/ -arch x64 -ext "${{ env.WIX }}\bin\WixUIExtension.dll" YUView.wxs + # & "candle.exe" -dConfiguration=Release -dOutDir=bin/Release/ '-dTargetExt=.msi' '-dTargetFileName=YUViewSetup.msi' -dTargetName=YUViewSetup -out obj/Release/ -arch x64 harvestedDirectory.wxs + # & "Light.exe" -b ../../deploy -out bin/Release/YUViewSetup.msi -pdbout bin/Release/YUViewSetup.wixpdb -cultures:null -ext "${{ env.WIX }}\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 ./ + # if: matrix.auto_update == true - name: Upload Artifact uses: actions/upload-artifact@v2 with: From 85c36b8a2965e00747a00f60a9fcac9d78725c23 Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Wed, 30 Aug 2023 13:52:04 +0200 Subject: [PATCH 15/19] Try with fixed path --- .github/workflows/Build.yml | 98 +++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 52 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index ddb6b74b1..a6ea56c9d 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -193,59 +193,53 @@ jobs: run: sed -i -- "s/#define UPDATE_FEATURE_ENABLE 0/#define UPDATE_FEATURE_ENABLE 1/g" YUViewLib/src/common/Typedef.h shell: bash if: matrix.auto_update == true - - name: Debug wix path + - name: Build run: | - echo "Wix path: ${{ env.WIX }}" - dir 'C:\Program Files (x86)\' - dir 'C:\Program Files (x86)\WiX Toolset v3.11' - dir 'C:\Program Files (x86)\WiX Toolset v3.11\bin' - # - name: Build - # run: | - # echo "Creating Build dir" - # mkdir build - # echo "Entering build dir" - # 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 "Jom Version:" - # jom /VERSION - # echo "Jom Makefile info:" - # jom /D - # echo "Executing jom:" - # jom - # - name: Run tests - # run: | - # cd build - # nmake check - # cd .. - # - 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 - # run: | - # cd ${{ github.workspace }}/deployment/wix - # cp 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\v142\MergeModules\Microsoft_VC142_CRT_x64.msm' . - # & "heat.exe" dir ../../deploy -gg -dr APPLICATIONFOLDER -srd -sreg -cg YUViewComponents -out harvestedDirectory.wxs - # & "candle.exe" -dConfiguration=Release -dOutDir=bin/Release/ '-dTargetExt=.msi' '-dTargetFileName=YUViewSetup.msi' -dTargetName=YUViewSetup -out obj/Release/ -arch x64 -ext "${{ env.WIX }}\bin\WixUIExtension.dll" YUView.wxs - # & "candle.exe" -dConfiguration=Release -dOutDir=bin/Release/ '-dTargetExt=.msi' '-dTargetFileName=YUViewSetup.msi' -dTargetName=YUViewSetup -out obj/Release/ -arch x64 harvestedDirectory.wxs - # & "Light.exe" -b ../../deploy -out bin/Release/YUViewSetup.msi -pdbout bin/Release/YUViewSetup.wixpdb -cultures:null -ext "${{ env.WIX }}\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 ./ - # if: matrix.auto_update == true + echo "Creating Build dir" + mkdir build + echo "Entering build dir" + 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 "Jom Version:" + jom /VERSION + echo "Jom Makefile info:" + jom /D + echo "Executing jom:" + jom + - name: Run tests + run: | + cd build + nmake check + cd .. + - 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 + run: | + cd ${{ github.workspace }}/deployment/wix + cp 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\v142\MergeModules\Microsoft_VC142_CRT_x64.msm' . + & "C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe" dir ../../deploy -gg -dr APPLICATIONFOLDER -srd -sreg -cg YUViewComponents -out harvestedDirectory.wxs + & "C:\Program Files (x86)\WiX Toolset v3.11\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.11\bin\WixUIExtension.dll" YUView.wxs + & "C:\Program Files (x86)\WiX Toolset v3.11\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.11\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.11\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 ./ + if: matrix.auto_update == true - name: Upload Artifact uses: actions/upload-artifact@v2 with: From 6c52e084e2248a0538abf19084e7d024e9198694 Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Wed, 30 Aug 2023 14:19:39 +0200 Subject: [PATCH 16/19] Try wix action --- .github/workflows/Build.yml | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index a6ea56c9d..0cab60fcc 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -229,16 +229,26 @@ jobs: python deployment/versioning.py -d deploy -o deploy/versioninfo.txt mkdir artifacts 7z a artifacts/YUView-Win.zip ./deploy/* - - name: Wix Windows - run: | - cd ${{ github.workspace }}/deployment/wix - cp 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\v142\MergeModules\Microsoft_VC142_CRT_x64.msm' . - & "C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe" dir ../../deploy -gg -dr APPLICATIONFOLDER -srd -sreg -cg YUViewComponents -out harvestedDirectory.wxs - & "C:\Program Files (x86)\WiX Toolset v3.11\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.11\bin\WixUIExtension.dll" YUView.wxs - & "C:\Program Files (x86)\WiX Toolset v3.11\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.11\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.11\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: Choco help + uses: utilitywarehouse/ghaction-wix@v1 + with: + name: Multi + sourceFiles: deployment/wix/YUView.wxs + outputDir: msi + architecture: x64 + extensions: WixUtilExtension + candleExtraArguments: | + -dlicensePath="./LICENSE" + # - name: Wix Windows + # run: | + # cd ${{ github.workspace }}/deployment/wix + # cp 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\v142\MergeModules\Microsoft_VC142_CRT_x64.msm' . + # & "C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe" dir ../../deploy -gg -dr APPLICATIONFOLDER -srd -sreg -cg YUViewComponents -out harvestedDirectory.wxs + # & "C:\Program Files (x86)\WiX Toolset v3.11\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.11\bin\WixUIExtension.dll" YUView.wxs + # & "C:\Program Files (x86)\WiX Toolset v3.11\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.11\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.11\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 ./ if: matrix.auto_update == true - name: Upload Artifact uses: actions/upload-artifact@v2 From 1dea465c04d180420eb1df355f5f5c10631c4b7d Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Wed, 30 Aug 2023 14:22:39 +0200 Subject: [PATCH 17/19] Enable everything again --- .github/workflows/Build.yml | 316 +++++++++++++++++------------------- 1 file changed, 153 insertions(+), 163 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 0cab60fcc..a60a2b85e 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -7,149 +7,149 @@ on: - created jobs: - # build-unix-native: - # runs-on: ${{ matrix.os }} - # strategy: - # matrix: - # include: - # - os: ubuntu-20.04 - # INSTALL_LIBS: libgl1-mesa-dev libxkbcommon-x11-0 libpcre2-16-0 qt5-default - # QMAKE_COMMAND: qmake - # - os: ubuntu-22.04 - # INSTALL_LIBS: qt6-base-dev - # QMAKE_COMMAND: qmake6 - # steps: - # - uses: actions/checkout@v3 - # - run: git fetch --prune --unshallow - # - name: Install Linux packages - # run: | - # sudo apt-get update - # sudo apt-get install ${{matrix.INSTALL_LIBS}} - # - name: Build - # run: | - # cd $GITHUB_WORKSPACE - # mkdir build - # cd build - # ${{matrix.QMAKE_COMMAND}} CONFIG+=UNITTESTS .. - # make -j$(nproc) - # make check - # build-mac-native: - # runs-on: ${{ matrix.os }} - # strategy: - # matrix: - # include: - # - os: macos-12 - # steps: - # - uses: actions/checkout@v3 - # - 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) - # make check - # build-unix: - # runs-on: ${{ matrix.os }} - # strategy: - # matrix: - # include: - # - os: ubuntu-20.04 - # QT_FILE: qtBase_6.5.2_ubuntu20.zip - # LIBDE265_REMOTE: libde265.so - # LIBDE265_LOCAL: libde265-internals.so - # ARTIFACT_NAME: YUView.Ubuntu20.AppImage - # CPU_COUNT_COMMAND: nproc - # - os: macos-11 - # QT_FILE: qtBase_6.5.2_mac11.zip - # LIBDE265_REMOTE: libde265.dylib - # LIBDE265_LOCAL: libde265-internals.dylib - # ARTIFACT_NAME: YUView-Mac11-BigSur.zip - # CPU_COUNT_COMMAND: sysctl -n hw.logicalcpu - # - os: macos-12 - # QT_FILE: qtBase_6.5.2_mac12.zip - # LIBDE265_REMOTE: libde265.dylib - # LIBDE265_LOCAL: libde265-internals.dylib - # ARTIFACT_NAME: YUView-Mac12-Monterey.zip - # CPU_COUNT_COMMAND: sysctl -n hw.logicalcpu - # steps: - # - uses: actions/checkout@v3 - # - 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.5.2/${{matrix.QT_FILE}} -o Qt.zip - # unzip -qa Qt.zip - # echo "$GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin" >> $GITHUB_PATH - # shell: bash - # - name: Install Linuxdeployqt - # 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 - # if: matrix.os == 'ubuntu-20.04' - # - name: Install Linux packages - # 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 - # if: matrix.os == 'ubuntu-20.04' - # - name: Install libde265 - # run: | - # curl -L https://github.com/ChristianFeldmann/libde265/releases/download/v1.1/${{matrix.LIBDE265_REMOTE}} -o ${{matrix.LIBDE265_LOCAL}} - # curl -L https://raw.githubusercontent.com/ChristianFeldmann/libde265/master/COPYING -o libde265License.txt - # shell: bash - # - name: Build Linux/Mac - # run: | - # cd $GITHUB_WORKSPACE - # export PATH=$GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin:$PATH - # mkdir build - # cd build - # qmake CONFIG+=UNITTESTS .. - # make -j $(${{matrix.CPU_COUNT_COMMAND}}) - # make check - # - name: Build App (Mac) - # run: | - # macdeployqt build/YUViewApp/YUView.app -always-overwrite -verbose=2 - # cp ${{matrix.LIBDE265_LOCAL}} build/YUViewApp/YUView.app/Contents/MacOS/. - # cd build/YUViewApp - # # Zip - # zip -r ${{matrix.ARTIFACT_NAME}} YUView.app/ - # mkdir $GITHUB_WORKSPACE/artifacts - # cp ${{matrix.ARTIFACT_NAME}} $GITHUB_WORKSPACE/artifacts/ - # if: matrix.os == 'macos-11' || matrix.os == 'macos-12' - # - name: Build Appimage (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/ - # cd $GITHUB_WORKSPACE - # ls -l - # cd $GITHUB_WORKSPACE/artifacts - # ls -l - # if: matrix.os == 'ubuntu-20.04' - # - name: Upload Artifact - # uses: actions/upload-artifact@v2 - # with: - # name: ${{matrix.ARTIFACT_NAME}} - # path: artifacts - # - name: Upload Release - # uses: actions/upload-release-asset@v1.0.1 - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # with: - # upload_url: ${{ github.event.release.upload_url }} - # asset_path: artifacts/${{matrix.ARTIFACT_NAME}} - # asset_name: ${{matrix.ARTIFACT_NAME}} - # asset_content_type: application/zip - # if: github.event_name == 'release' + build-unix-native: + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: ubuntu-20.04 + INSTALL_LIBS: libgl1-mesa-dev libxkbcommon-x11-0 libpcre2-16-0 qt5-default + QMAKE_COMMAND: qmake + - os: ubuntu-22.04 + INSTALL_LIBS: qt6-base-dev + QMAKE_COMMAND: qmake6 + steps: + - uses: actions/checkout@v3 + - run: git fetch --prune --unshallow + - name: Install Linux packages + run: | + sudo apt-get update + sudo apt-get install ${{matrix.INSTALL_LIBS}} + - name: Build + run: | + cd $GITHUB_WORKSPACE + mkdir build + cd build + ${{matrix.QMAKE_COMMAND}} CONFIG+=UNITTESTS .. + make -j$(nproc) + make check + build-mac-native: + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: macos-12 + steps: + - uses: actions/checkout@v3 + - 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) + make check + build-unix: + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: ubuntu-20.04 + QT_FILE: qtBase_6.5.2_ubuntu20.zip + LIBDE265_REMOTE: libde265.so + LIBDE265_LOCAL: libde265-internals.so + ARTIFACT_NAME: YUView.Ubuntu20.AppImage + CPU_COUNT_COMMAND: nproc + - os: macos-11 + QT_FILE: qtBase_6.5.2_mac11.zip + LIBDE265_REMOTE: libde265.dylib + LIBDE265_LOCAL: libde265-internals.dylib + ARTIFACT_NAME: YUView-Mac11-BigSur.zip + CPU_COUNT_COMMAND: sysctl -n hw.logicalcpu + - os: macos-12 + QT_FILE: qtBase_6.5.2_mac12.zip + LIBDE265_REMOTE: libde265.dylib + LIBDE265_LOCAL: libde265-internals.dylib + ARTIFACT_NAME: YUView-Mac12-Monterey.zip + CPU_COUNT_COMMAND: sysctl -n hw.logicalcpu + steps: + - uses: actions/checkout@v3 + - 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.5.2/${{matrix.QT_FILE}} -o Qt.zip + unzip -qa Qt.zip + echo "$GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin" >> $GITHUB_PATH + shell: bash + - name: Install Linuxdeployqt + 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 + if: matrix.os == 'ubuntu-20.04' + - name: Install Linux packages + 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 + if: matrix.os == 'ubuntu-20.04' + - name: Install libde265 + run: | + curl -L https://github.com/ChristianFeldmann/libde265/releases/download/v1.1/${{matrix.LIBDE265_REMOTE}} -o ${{matrix.LIBDE265_LOCAL}} + curl -L https://raw.githubusercontent.com/ChristianFeldmann/libde265/master/COPYING -o libde265License.txt + shell: bash + - name: Build Linux/Mac + run: | + cd $GITHUB_WORKSPACE + export PATH=$GITHUB_WORKSPACE/../../YUViewQt/YUViewQt/Qt/bin:$PATH + mkdir build + cd build + qmake CONFIG+=UNITTESTS .. + make -j $(${{matrix.CPU_COUNT_COMMAND}}) + make check + - name: Build App (Mac) + run: | + macdeployqt build/YUViewApp/YUView.app -always-overwrite -verbose=2 + cp ${{matrix.LIBDE265_LOCAL}} build/YUViewApp/YUView.app/Contents/MacOS/. + cd build/YUViewApp + # Zip + zip -r ${{matrix.ARTIFACT_NAME}} YUView.app/ + mkdir $GITHUB_WORKSPACE/artifacts + cp ${{matrix.ARTIFACT_NAME}} $GITHUB_WORKSPACE/artifacts/ + if: matrix.os == 'macos-11' || matrix.os == 'macos-12' + - name: Build Appimage (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/ + cd $GITHUB_WORKSPACE + ls -l + cd $GITHUB_WORKSPACE/artifacts + ls -l + if: matrix.os == 'ubuntu-20.04' + - name: Upload Artifact + uses: actions/upload-artifact@v2 + with: + name: ${{matrix.ARTIFACT_NAME}} + path: artifacts + - name: Upload Release + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: artifacts/${{matrix.ARTIFACT_NAME}} + asset_name: ${{matrix.ARTIFACT_NAME}} + asset_content_type: application/zip + if: github.event_name == 'release' build-windows: runs-on: ${{ matrix.os }} strategy: @@ -229,26 +229,16 @@ jobs: python deployment/versioning.py -d deploy -o deploy/versioninfo.txt mkdir artifacts 7z a artifacts/YUView-Win.zip ./deploy/* - - name: Choco help - uses: utilitywarehouse/ghaction-wix@v1 - with: - name: Multi - sourceFiles: deployment/wix/YUView.wxs - outputDir: msi - architecture: x64 - extensions: WixUtilExtension - candleExtraArguments: | - -dlicensePath="./LICENSE" - # - name: Wix Windows - # run: | - # cd ${{ github.workspace }}/deployment/wix - # cp 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\v142\MergeModules\Microsoft_VC142_CRT_x64.msm' . - # & "C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe" dir ../../deploy -gg -dr APPLICATIONFOLDER -srd -sreg -cg YUViewComponents -out harvestedDirectory.wxs - # & "C:\Program Files (x86)\WiX Toolset v3.11\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.11\bin\WixUIExtension.dll" YUView.wxs - # & "C:\Program Files (x86)\WiX Toolset v3.11\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.11\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.11\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: Wix Windows + run: | + cd ${{ github.workspace }}/deployment/wix + cp 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Redist\MSVC\v142\MergeModules\Microsoft_VC142_CRT_x64.msm' . + & "C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe" dir ../../deploy -gg -dr APPLICATIONFOLDER -srd -sreg -cg YUViewComponents -out harvestedDirectory.wxs + & "C:\Program Files (x86)\WiX Toolset v3.11\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.11\bin\WixUIExtension.dll" YUView.wxs + & "C:\Program Files (x86)\WiX Toolset v3.11\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.11\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.11\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 ./ if: matrix.auto_update == true - name: Upload Artifact uses: actions/upload-artifact@v2 From 485f158b3711186eee431f655e7b1adf97e2afa5 Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Wed, 30 Aug 2023 21:06:45 +0200 Subject: [PATCH 18/19] Update artifac/release uploads --- .github/workflows/Build.yml | 54 +++++++++++-------------------------- 1 file changed, 15 insertions(+), 39 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index a60a2b85e..210698f5c 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -130,26 +130,17 @@ jobs: mv YUView-*.AppImage YUView.AppImage mkdir $GITHUB_WORKSPACE/artifacts cp YUView.AppImage $GITHUB_WORKSPACE/artifacts/ - cd $GITHUB_WORKSPACE - ls -l - cd $GITHUB_WORKSPACE/artifacts - ls -l if: matrix.os == 'ubuntu-20.04' - name: Upload Artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: ${{matrix.ARTIFACT_NAME}} path: artifacts - - name: Upload Release - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: artifacts/${{matrix.ARTIFACT_NAME}} - asset_name: ${{matrix.ARTIFACT_NAME}} - asset_content_type: application/zip - if: github.event_name == 'release' + files: artifacts/${{matrix.ARTIFACT_NAME}} build-windows: runs-on: ${{ matrix.os }} strategy: @@ -195,18 +186,13 @@ jobs: if: matrix.auto_update == true - name: Build run: | - echo "Creating Build dir" + echo "Creating Build dir and entering it" mkdir build - echo "Entering build dir" 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 "Jom Version:" - jom /VERSION - echo "Jom Makefile info:" - jom /D echo "Executing jom:" jom - name: Run tests @@ -241,7 +227,7 @@ jobs: cp deployment/wix/bin/Release/YUViewSetup.msi ./ if: matrix.auto_update == true - name: Upload Artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: ${{matrix.ARTIFACT_NAME}} path: artifacts @@ -251,26 +237,16 @@ jobs: name: YUViewSetup.msi path: ./YUViewSetup.msi if: matrix.auto_update == true - - name: Upload Windows zip to Release - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Release Zip + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: artifacts/YUView-Win.zip - asset_name: ${{matrix.ARTIFACT_NAME}} - asset_content_type: application/zip - if: github.event_name == 'release' - - name: Upload Windows installer to Release - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + files: artifacts/YUView-Win.zip + - name: Release Installer + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') && matrix.auto_update == true with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: YUViewSetup.msi - asset_name: YUViewSetup.msi - asset_content_type: application/zip - if: github.event_name == 'release' && matrix.auto_update == true + files: YUViewSetup.msi # How to upload files to the release: # https://github.com/Blacksmoke16/oq/pull/47/files#diff-082c28d748ad2e3eecc5508d740d9417R9-R29 From 1267a71ee0ee288790862542c45c897274dcfa5c Mon Sep 17 00:00:00 2001 From: Christian Feldmann Date: Wed, 30 Aug 2023 21:32:59 +0200 Subject: [PATCH 19/19] [no ci] forgot one v3 --- .github/workflows/Build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 210698f5c..e6c1d553f 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -232,7 +232,7 @@ jobs: name: ${{matrix.ARTIFACT_NAME}} path: artifacts - name: Upload Windows installer Artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: YUViewSetup.msi path: ./YUViewSetup.msi