Testing probonopd/go-appimage#301 #3 #63
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
name: Windows build | |
on: | |
push: | |
branches: | |
- master | |
- next | |
- 'next*' | |
tags: | |
- 'v*' | |
jobs: | |
qtbuild: | |
name: Build with Qt | |
runs-on: windows-latest | |
steps: | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v4 | |
with: | |
version: '6.7.2' | |
modules: 'qtcharts qtmultimedia qt5compat qtshadertools' | |
arch: 'win64_mingw' | |
tools: 'tools_mingw90' | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- run: git fetch --prune --unshallow --tags | |
- name: Preapre build | |
run: | | |
echo "Create a build directory" | |
md build | |
cd build | |
md release | |
echo "Get all headers and DLLs for the build" | |
cd ../.. | |
git clone https://github.com/AlbrechtL/welle.io-win-libs.git | |
- name: Display environment variables | |
run: | | |
Get-ChildItem Env: | |
- name: Build | |
id: build | |
run: | | |
cd build/release | |
qmake ../.. | |
mingw32-make -j4 | |
- name: Create installer | |
id: create_installer | |
run: | | |
echo "*** Create new folders ***" | |
New-Item -ItemType directory -Path installer | |
New-Item -ItemType directory -Path publish | |
echo "*** Copy non QT DLLs from welle.io-win-libs repository ***" | |
Copy-Item ..\welle.io-win-libs\x64\*.dll installer -recurse # Libs | |
Copy-Item ..\welle.io-win-libs\x64\*.exe installer -recurse # Microsoft Visual C++ Redistributable | |
Copy-Item ..\welle.io-win-libs\zadig*.exe installer | |
echo "*** Copy welle-io binary files ***" | |
Copy-Item build\release\src\welle-gui\release\welle-io.exe installer | |
# Deploy QT and related plugins | |
echo "*** Deploy QT and related plugins ***" | |
& windeployqt installer\welle-io.exe --qmldir src\welle-gui\QML\ --no-translations | |
# For some reason windeployqt deploys the wrong DLLs | |
Copy-Item $Env:QT_ROOT_DIR\bin\libgcc_s_seh-1.dll installer | |
Copy-Item $Env:QT_ROOT_DIR\bin\libwinpthread-1.dll installer | |
Copy-Item $Env:QT_ROOT_DIR\bin\libstdc++-6.dll installer | |
echo ""*** Create filename "***" | |
$current_date=$(Get-Date -Format 'yyyyMMdd') | |
$git_hash=$(git -C . rev-parse --short HEAD) | |
$Filename = $current_date + "_" + $git_hash + "_Windows_welle-io-setup_x64" | |
echo ""*** Run InnoSetup "***" | |
& ISCC /Opublish\ /F$Filename /DGitHash=$git_hash windows_installer.iss | |
- name: Archive artifacts (welle.io Windows installer) | |
if: always() && steps.create_installer.outcome == 'success' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: welle.io Windows installer | |
path: publish\*.exe | |
if-no-files-found: error | |
- name: Upload to nightly server | |
if: always() && steps.create_installer.outcome == 'success' | |
uses: dennisameling/ftp-upload-action@v1 | |
with: | |
server: a2f24.netcup.net # welle-io-nightlies.albrechtloh.de is redirected to here | |
secure: true | |
username: ${{ secrets.SFTP_USER }} | |
password: ${{ secrets.SFTP_PASSWORD }} | |
local_dir: publish/ |