Skip to content

Testing probonopd/go-appimage#301 #3 #63

Testing probonopd/go-appimage#301 #3

Testing probonopd/go-appimage#301 #3 #63

Workflow file for this run

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/