Skip to content

Update Build.yml

Update Build.yml #19

Workflow file for this run

name: CI build
on:
push:
workflow_dispatch:
release:
types:
- created
jobs:
build-windows:
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: windows-2019
auto_update: false
ARTIFACT_NAME: YUView-Win2019-noautoupdate.zip
QT_FILE: qtBase_6.7.2_win2019.zip
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: ilammy/msvc-dev-cmd@v1
- run: git fetch --prune --unshallow
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
dir: '${{ github.workspace }}/YUViewQt'
cache: 'true'
- 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/openSSL1.1.1w/openSSL_1_1_1w_win2019.zip -o openSSL.zip
7z x openSSL.zip
cd ..
- name: Activate auto update
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: Build
run: |
echo "Creating Build dir and entering it"
mkdir build
cd build
echo "Qmake Version:"
qmake --version
echo "Executing qmake..."
qmake CONFIG+=UNITTESTS CONFIG+=debug ..
echo "Executing jom:"
jom
- name: WindeployQT
run: |
mkdir deploy
cd deploy
cp ../build/YUViewApp/YUView.exe .
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.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 ./
if: matrix.auto_update == true
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{matrix.ARTIFACT_NAME}}
path: artifacts
- name: Upload Windows installer Artifact
uses: actions/upload-artifact@v4
with:
name: YUViewSetup.msi
path: ./YUViewSetup.msi
if: matrix.auto_update == true
- 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.auto_update == 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