Update windows.yml

This commit is contained in:
rizal
2026-03-06 13:01:52 +09:00
committed by GitHub
parent af6ff4fd95
commit 2b7cc7a0e7
+41 -34
View File
@@ -7,7 +7,11 @@ jobs:
build: build:
runs-on: windows-2022 runs-on: windows-2022
env:
VCPKG_DEFAULT_TRIPLET: x64-windows
steps: steps:
# ── 1. Checkout Fritzing source ──────────────────────────────────────
- name: Checkout fritzing-app - name: Checkout fritzing-app
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
@@ -20,58 +24,61 @@ jobs:
repository: fritzing/fritzing-parts repository: fritzing/fritzing-parts
path: fritzing-parts path: fritzing-parts
- name: Setup MSVC # ── 2. Setup MSVC 2022 64-bit environment ────────────────────────────
- name: Setup MSVC environment
uses: ilammy/msvc-dev-cmd@v1 uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
# ── 3. Install Qt 6.7.3 (latest LTS at time of writing) ─────────────
# Arch label for MSVC 2022 / 2019 64-bit is identical
- name: Install Qt - name: Install Qt
uses: jurplel/install-qt-action@v4 uses: jurplel/install-qt-action@v4
with: with:
version: '6.5.3' version: '6.7.3'
host: 'windows' host: 'windows'
target: 'desktop' target: 'desktop'
arch: 'win64_msvc2019_64' arch: 'win64_msvc2019_64'
modules: 'qt5compat'
cache: true
- name: Install Boost # ── 4. Install C++ dependencies via vcpkg ────────────────────────────
# vcpkg is pre-installed on windows-2022 runners.
# boost headers-only, libgit2-static, quazip, openssl
- name: Install dependencies with vcpkg
run: | run: |
Invoke-WebRequest -Uri https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.zip -OutFile boost.zip vcpkg install boost-filesystem boost-optional boost-assign `
Expand-Archive boost.zip -DestinationPath . libgit2 quazip openssl `
Rename-Item boost_1_83_0 boost --triplet x64-windows
shell: powershell shell: pwsh
- name: Build libgit2 # ── 5. Build libgit2 (vcpkg already handles this, kept for reference) ─
# libgit2 from vcpkg is at the latest stable release automatically.
# ── 6. Configure and build Fritzing ─────────────────────────────────
- name: Configure Fritzing (qmake)
working-directory: fritzing-app
run: | run: |
git clone https://github.com/libgit2/libgit2.git qmake phoenix.pro ^
cd libgit2 BOOST_PATH="%VCPKG_ROOT%\installed\x64-windows\include" ^
mkdir build LIBGIT2_PATH="%VCPKG_ROOT%\installed\x64-windows"
cd build
cmake .. -DBUILD_SHARED_LIBS=OFF
cmake --build . --config Release
shell: cmd shell: cmd
- name: Build ngspice - name: Build Fritzing (nmake)
run: | working-directory: fritzing-app
git clone https://git.code.sf.net/p/ngspice/ngspice run: nmake release
cd ngspice
# Simplified, usually requires MSYS2 or complex MSVC build.
# Fritzing CI has prebuilt binaries via vcpkg or similar.
# Here we leave it as placeholder for ngspice library path.
continue-on-error: true
- name: Build Fritzing
run: |
cd fritzing-app
qmake phoenix.pro
nmake release
shell: cmd shell: cmd
- name: Run windeployqt # ── 7. Deploy Qt runtime DLLs next to the executable ────────────────
run: | - name: Deploy Qt (windeployqt)
cd fritzing-app/release working-directory: fritzing-app/release
windeployqt Fritzing.exe run: windeployqt Fritzing.exe
shell: cmd shell: cmd
- name: Upload Artifact # ── 8. Upload the finished build as a downloadable artifact ─────────
- name: Upload build artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: fritzing-windows-build name: fritzing-windows-x64
path: fritzing-app/release/ path: fritzing-app/release/
retention-days: 14