-
Notifications
You must be signed in to change notification settings - Fork 379
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' into release/2.14
- Loading branch information
Showing
89 changed files
with
1,926 additions
and
831 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,78 +11,93 @@ jobs: | |
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
include: | ||
- os: ubuntu-18.04 | ||
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@v2 | ||
- uses: actions/checkout@v3 | ||
- run: git fetch --prune --unshallow | ||
- name: Install Linux packages | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install libgl1-mesa-dev libxkbcommon-x11-0 libpcre2-16-0 qt5-default | ||
sudo apt-get install ${{matrix.INSTALL_LIBS}} | ||
- name: Build | ||
run: | | ||
cd $GITHUB_WORKSPACE | ||
mkdir build | ||
cd build | ||
qmake CONFIG+=UNITTESTS .. | ||
make -j 2 | ||
${{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-18.04 | ||
QT_FILE: qtBase_5.15.1_bionic.zip | ||
- 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 | ||
- os: macos-10.15 | ||
QT_FILE: qtBase_5.15.1_mac.zip | ||
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-Mac.zip | ||
# - os: macos-11.0 | ||
# 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-Mac12-Monterey.zip | ||
CPU_COUNT_COMMAND: sysctl -n hw.logicalcpu | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- 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-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 | ||
- 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-10.15' || matrix.os == 'macos-11.0' | ||
- 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' | ||
- 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' | ||
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}} | ||
|
@@ -95,7 +110,7 @@ jobs: | |
mkdir build | ||
cd build | ||
qmake CONFIG+=UNITTESTS .. | ||
make -j 2 | ||
make -j $(${{matrix.CPU_COUNT_COMMAND}}) | ||
make check | ||
- name: Build App (Mac) | ||
run: | | ||
|
@@ -106,7 +121,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 | ||
|
@@ -115,62 +130,49 @@ 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-18.04' | ||
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/[email protected] | ||
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: | ||
matrix: | ||
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@v2 | ||
- uses: actions/checkout@v3 | ||
- 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-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 | ||
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 | ||
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 | ||
|
@@ -182,13 +184,16 @@ 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: | | ||
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 tests | ||
run: | | ||
|
@@ -200,7 +205,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 | ||
|
@@ -214,44 +219,34 @@ 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 | ||
& "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 | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
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 | ||
if: matrix.auto_update == true | ||
- name: Upload Windows zip to Release | ||
uses: actions/[email protected] | ||
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/[email protected] | ||
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 | ||
|
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.