Skip to content

Fix: keep internal series names aligned after prefix remap (#1324) #1351

Fix: keep internal series names aligned after prefix remap (#1324)

Fix: keep internal series names aligned after prefix remap (#1324) #1351

Workflow file for this run

name: windows
on:
workflow_dispatch:
push:
branches:
- main
tags:
- '[0-9]+.[0-9]+.[0-9]+'
pull_request:
types: [opened, synchronize]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
windows-build:
runs-on: ${{ matrix.windows-version }}
strategy:
fail-fast: false
matrix:
windows-version:
- 'windows-latest'
env:
CXXFLAGS: /MP
steps:
- name: Sync repository
uses: actions/checkout@v6
- name: Install Conan
uses: conan-io/setup-conan@v1
with:
cache_packages: true
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '5.15.2'
arch: 'win64_msvc2019_64'
dir: '${{ github.workspace }}/qt_installation/'
cache: 'true'
tools: 'tools_ifw'
add-tools-to-path: 'true'
- name: Conan install
shell: pwsh
run: |
conan install . -of build --build=missing -pr:b=default -s build_type=Release -s compiler.cppstd=17
- name: Build Plotjuggler
shell: pwsh
run: |
cmake --preset conan-default -S . -B build -DCMAKE_BUILD_TYPE=Release -DPJ_INSTALLATION="windows" -DPJ_PLUGINS_DIRECTORY="bin"
cmake --build build --config Release
- name: Prepare installer directory
shell: pwsh
run: |
New-Item -ItemType Directory -Force -Path installer\io.plotjuggler.application\data
Copy-Item -Path build\bin\Release\*.* -Destination installer\io.plotjuggler.application\data -Recurse -Force
cmd /c installer\windeploy_pj.bat
- name: Create installer using QT Installation Framework
shell: pwsh
run: |
# Sanitize ref_name to replace / with - for valid Windows filename
$ref_name = "${{ github.ref_name }}" -replace '/', '-'
$installer_name = "PlotJuggler-$ref_name-Windows-x64.exe"
# Find binarycreator executable
$binarycreator = Get-ChildItem -Path "${{ github.workspace }}\qt_installation" -Recurse -Name "binarycreator.exe" | Select-Object -First 1
if (-not $binarycreator) {
Write-Error "binarycreator.exe not found in Qt installation"
exit 1
}
$binarycreator_path = Join-Path "${{ github.workspace }}\qt_installation" $binarycreator
# Create installer using existing configuration files
Write-Host "Creating installer: $installer_name"
& "$binarycreator_path" --offline-only -c installer\config.xml -p installer $installer_name
if ($LASTEXITCODE -ne 0) {
Write-Error "Failed to create installer"
exit 1
}
Write-Host "Installer created successfully: $installer_name"
- name: Upload installer
uses: actions/upload-artifact@v7
if: startsWith(github.ref, 'refs/tags/')
with:
name: PlotJuggler-${{ github.ref_name }}-Windows-x64.exe
path: PlotJuggler-${{ github.ref_name }}-Windows-x64.exe
- name: Upload to Release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
with:
files: PlotJuggler-${{ github.ref_name }}-Windows-x64.exe
generate_release_notes: false
fail_on_unmatched_files: false