From 983c07aaf300cce6b0be3a3982a671e842f7bf28 Mon Sep 17 00:00:00 2001 From: oxmmty Date: Thu, 23 Jul 2026 10:36:02 +0900 Subject: [PATCH 1/4] mirror windows and macos ci fixes into the master release workflow --- .github/workflows/build-master.yml | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-master.yml b/.github/workflows/build-master.yml index b3c5e387bb..e5fdfd9451 100644 --- a/.github/workflows/build-master.yml +++ b/.github/workflows/build-master.yml @@ -185,7 +185,7 @@ jobs: - name: Build MacOS binaries run: ./scripts/cmake-build-mac.sh -g env: - MAC_QT_DIR: ${{ env.Qt5_DIR }} + MAC_QT_DIR: ${{ env.QT_ROOT_DIR }} - name: Create MacOS dmg sha256 checksum file run: | @@ -215,7 +215,7 @@ jobs: # ========================================================================== # Build Windows x64 version buildWindows: - runs-on: windows-latest + runs-on: windows-2022 needs: prepareRelease outputs: upload_url: ${{ needs.prepareRelease.outputs.upload_url }} @@ -233,19 +233,29 @@ jobs: setup-python: 'false' modules: 'qtwebengine' + - name: Install pkg-config (pinned vcpkg's msys2 pkg-config mirror is dead) + run: choco install pkgconfiglite -y --no-progress + - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6 with: vcpkgArguments: 'berkeleydb boost leveldb openssl' vcpkgGitCommitId: a037d826492039db9d58af47a1e1248037d15f40 vcpkgTriplet: x64-windows + env: + # Old vcpkg ports (e.g. bzip2) declare cmake_minimum_required < 3.5, + # which CMake 4.x rejects as a fatal error. Restore the old floor. + CMAKE_POLICY_VERSION_MINIMUM: '3.5' + # Use overlay triplets that hand vcpkg a local pkg-config, so bzip2's + # vcpkg_fixup_pkgconfig does not fetch the removed msys2 package. + VCPKG_OVERLAY_TRIPLETS: ${{ github.workspace }}/vcpkg-overlay-triplets - name: Build Windows binaries run: ./scripts/cmake-build-win.bat env: VCPKG_DEFAULT_TRIPLET: x64-windows QTDIR: ${{ env.Qt5_Dir }} - VSDIR: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise' + VSDIR: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise' CMAKEDIR: 'C:\Program Files\CMake\bin' VCPKGDIR: ${{ github.workspace }}/vcpkg @@ -279,7 +289,7 @@ jobs: # ========================================================================== # Build Windows x86 version buildWindowsX86: - runs-on: windows-latest + runs-on: windows-2022 needs: prepareRelease outputs: upload_url: ${{ needs.prepareRelease.outputs.upload_url }} @@ -298,19 +308,29 @@ jobs: modules: 'qtwebengine' arch: 'win32_msvc2017' + - name: Install pkg-config (pinned vcpkg's msys2 pkg-config mirror is dead) + run: choco install pkgconfiglite -y --no-progress + - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6 with: vcpkgArguments: 'berkeleydb boost leveldb openssl' vcpkgGitCommitId: a037d826492039db9d58af47a1e1248037d15f40 vcpkgTriplet: x86-windows + env: + # Old vcpkg ports (e.g. bzip2) declare cmake_minimum_required < 3.5, + # which CMake 4.x rejects as a fatal error. Restore the old floor. + CMAKE_POLICY_VERSION_MINIMUM: '3.5' + # Use overlay triplets that hand vcpkg a local pkg-config, so bzip2's + # vcpkg_fixup_pkgconfig does not fetch the removed msys2 package. + VCPKG_OVERLAY_TRIPLETS: ${{ github.workspace }}/vcpkg-overlay-triplets - name: Build Windows binaries run: ./scripts/cmake-build-win-x86.bat env: VCPKG_DEFAULT_TRIPLET: x86-windows QTDIR_x86: ${{ env.Qt5_Dir }} - VSDIR: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise' + VSDIR: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise' CMAKEDIR_x86: 'C:\Program Files\CMake\bin' VCPKGDIR: ${{ github.workspace }}/vcpkg From 97d630e350d067ef7f465cdc81db12b361693842 Mon Sep 17 00:00:00 2001 From: oxmmty Date: Thu, 23 Jul 2026 10:53:18 +0900 Subject: [PATCH 2/4] install perl and nasm on windows ci so the pinned vcpkg skips its dead openssl download urls --- .github/workflows/build-featurebranch.yml | 12 ++++++++---- .github/workflows/build-master.yml | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-featurebranch.yml b/.github/workflows/build-featurebranch.yml index 045d7885f9..9dcadef15c 100644 --- a/.github/workflows/build-featurebranch.yml +++ b/.github/workflows/build-featurebranch.yml @@ -111,8 +111,10 @@ jobs: version: '5.12.9' setup-python: 'false' modules: 'qtwebengine' - - name: Install pkg-config (pinned vcpkg's msys2 pkg-config mirror is dead) - run: choco install pkgconfiglite -y --no-progress + - name: Provide build tools on PATH (pinned 2021 vcpkg's own download URLs are dead) + # bzip2 fetches msys2 pkg-config; openssl fetches Strawberry Perl and NASM. + # Those URLs are dead, so install the tools and let vcpkg find them on PATH. + run: choco install pkgconfiglite strawberryperl nasm -y --no-progress - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6 with: @@ -150,8 +152,10 @@ jobs: setup-python: 'false' modules: 'qtwebengine' arch: 'win32_msvc2017' - - name: Install pkg-config (pinned vcpkg's msys2 pkg-config mirror is dead) - run: choco install pkgconfiglite -y --no-progress + - name: Provide build tools on PATH (pinned 2021 vcpkg's own download URLs are dead) + # bzip2 fetches msys2 pkg-config; openssl fetches Strawberry Perl and NASM. + # Those URLs are dead, so install the tools and let vcpkg find them on PATH. + run: choco install pkgconfiglite strawberryperl nasm -y --no-progress - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6 with: diff --git a/.github/workflows/build-master.yml b/.github/workflows/build-master.yml index e5fdfd9451..f61c3eb558 100644 --- a/.github/workflows/build-master.yml +++ b/.github/workflows/build-master.yml @@ -233,8 +233,10 @@ jobs: setup-python: 'false' modules: 'qtwebengine' - - name: Install pkg-config (pinned vcpkg's msys2 pkg-config mirror is dead) - run: choco install pkgconfiglite -y --no-progress + - name: Provide build tools on PATH (pinned 2021 vcpkg's own download URLs are dead) + # bzip2 fetches msys2 pkg-config; openssl fetches Strawberry Perl and NASM. + # Those URLs are dead, so install the tools and let vcpkg find them on PATH. + run: choco install pkgconfiglite strawberryperl nasm -y --no-progress - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6 @@ -308,8 +310,10 @@ jobs: modules: 'qtwebengine' arch: 'win32_msvc2017' - - name: Install pkg-config (pinned vcpkg's msys2 pkg-config mirror is dead) - run: choco install pkgconfiglite -y --no-progress + - name: Provide build tools on PATH (pinned 2021 vcpkg's own download URLs are dead) + # bzip2 fetches msys2 pkg-config; openssl fetches Strawberry Perl and NASM. + # Those URLs are dead, so install the tools and let vcpkg find them on PATH. + run: choco install pkgconfiglite strawberryperl nasm -y --no-progress - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6 From 64884207994c6644af23a9317c75f4fce445686b Mon Sep 17 00:00:00 2001 From: oxmmty Date: Thu, 23 Jul 2026 10:56:16 +0900 Subject: [PATCH 3/4] apply the same windows and macos ci fixes to the develop release workflow --- .github/workflows/build-develop.yml | 34 ++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-develop.yml b/.github/workflows/build-develop.yml index bda1906880..eb8f573070 100644 --- a/.github/workflows/build-develop.yml +++ b/.github/workflows/build-develop.yml @@ -189,7 +189,7 @@ jobs: - name: Build MacOS binaries run: ./scripts/cmake-build-mac.sh -g env: - MAC_QT_DIR: ${{ env.Qt5_DIR }} + MAC_QT_DIR: ${{ env.QT_ROOT_DIR }} - name: Create MacOS dmg sha256 checksum file run: | @@ -219,7 +219,7 @@ jobs: # ========================================================================== # Build Windows x64 version buildWindows: - runs-on: windows-latest + runs-on: windows-2022 needs: prepareRelease outputs: upload_url: ${{ needs.prepareRelease.outputs.upload_url }} @@ -237,19 +237,31 @@ jobs: setup-python: 'false' modules: 'qtwebengine' + - name: Provide build tools on PATH (pinned 2021 vcpkg's own download URLs are dead) + # bzip2 fetches msys2 pkg-config; openssl fetches Strawberry Perl and NASM. + # Those URLs are dead, so install the tools and let vcpkg find them on PATH. + run: choco install pkgconfiglite strawberryperl nasm -y --no-progress + - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6 with: vcpkgArguments: 'berkeleydb boost leveldb openssl' vcpkgGitCommitId: a037d826492039db9d58af47a1e1248037d15f40 vcpkgTriplet: x64-windows + env: + # Old vcpkg ports (e.g. bzip2) declare cmake_minimum_required < 3.5, + # which CMake 4.x rejects as a fatal error. Restore the old floor. + CMAKE_POLICY_VERSION_MINIMUM: '3.5' + # Use overlay triplets that hand vcpkg a local pkg-config, so bzip2's + # vcpkg_fixup_pkgconfig does not fetch the removed msys2 package. + VCPKG_OVERLAY_TRIPLETS: ${{ github.workspace }}/vcpkg-overlay-triplets - name: Build Windows binaries run: ./scripts/cmake-build-win.bat env: VCPKG_DEFAULT_TRIPLET: x64-windows QTDIR: ${{ env.Qt5_Dir }} - VSDIR: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise' + VSDIR: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise' CMAKEDIR: 'C:\Program Files\CMake\bin' VCPKGDIR: ${{ github.workspace }}/vcpkg @@ -283,7 +295,7 @@ jobs: # ========================================================================== # Build Windows x86 version buildWindowsX86: - runs-on: windows-latest + runs-on: windows-2022 needs: prepareRelease outputs: upload_url: ${{ needs.prepareRelease.outputs.upload_url }} @@ -302,19 +314,31 @@ jobs: modules: 'qtwebengine' arch: 'win32_msvc2017' + - name: Provide build tools on PATH (pinned 2021 vcpkg's own download URLs are dead) + # bzip2 fetches msys2 pkg-config; openssl fetches Strawberry Perl and NASM. + # Those URLs are dead, so install the tools and let vcpkg find them on PATH. + run: choco install pkgconfiglite strawberryperl nasm -y --no-progress + - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6 with: vcpkgArguments: 'berkeleydb boost leveldb openssl' vcpkgGitCommitId: a037d826492039db9d58af47a1e1248037d15f40 vcpkgTriplet: x86-windows + env: + # Old vcpkg ports (e.g. bzip2) declare cmake_minimum_required < 3.5, + # which CMake 4.x rejects as a fatal error. Restore the old floor. + CMAKE_POLICY_VERSION_MINIMUM: '3.5' + # Use overlay triplets that hand vcpkg a local pkg-config, so bzip2's + # vcpkg_fixup_pkgconfig does not fetch the removed msys2 package. + VCPKG_OVERLAY_TRIPLETS: ${{ github.workspace }}/vcpkg-overlay-triplets - name: Build Windows binaries run: ./scripts/cmake-build-win-x86.bat env: VCPKG_DEFAULT_TRIPLET: x86-windows QTDIR_x86: ${{ env.Qt5_Dir }} - VSDIR: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise' + VSDIR: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise' CMAKEDIR_x86: 'C:\Program Files\CMake\bin' VCPKGDIR: ${{ github.workspace }}/vcpkg From ef6ace46bfb0e01633bddb227bf21e84dadffafb Mon Sep 17 00:00:00 2001 From: oxmmty Date: Thu, 23 Jul 2026 11:43:17 +0900 Subject: [PATCH 4/4] add strawberry perl to PATH so windows ci vcpkg skips its dead openssl perl download --- .github/workflows/build-develop.yml | 20 ++++++++++++++++++-- .github/workflows/build-featurebranch.yml | 20 ++++++++++++++++++-- .github/workflows/build-master.yml | 20 ++++++++++++++++++-- 3 files changed, 54 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-develop.yml b/.github/workflows/build-develop.yml index eb8f573070..6835cc64dd 100644 --- a/.github/workflows/build-develop.yml +++ b/.github/workflows/build-develop.yml @@ -240,7 +240,15 @@ jobs: - name: Provide build tools on PATH (pinned 2021 vcpkg's own download URLs are dead) # bzip2 fetches msys2 pkg-config; openssl fetches Strawberry Perl and NASM. # Those URLs are dead, so install the tools and let vcpkg find them on PATH. - run: choco install pkgconfiglite strawberryperl nasm -y --no-progress + run: | + choco install pkgconfiglite strawberryperl nasm -y --no-progress + # choco only updates the machine PATH in the registry, which GitHub Actions + # does not carry into later steps. vcpkg's openssl port runs find_program(perl) + # against the step PATH, so without this it falls back to the dead download URL. + # Push Strawberry Perl's bin dirs onto GITHUB_PATH so run-vcpkg finds perl. + "C:\Strawberry\c\bin", "C:\Strawberry\perl\site\bin", "C:\Strawberry\perl\bin" | + Where-Object { Test-Path $_ } | + ForEach-Object { Add-Content -Path $env:GITHUB_PATH -Value $_ } - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6 @@ -317,7 +325,15 @@ jobs: - name: Provide build tools on PATH (pinned 2021 vcpkg's own download URLs are dead) # bzip2 fetches msys2 pkg-config; openssl fetches Strawberry Perl and NASM. # Those URLs are dead, so install the tools and let vcpkg find them on PATH. - run: choco install pkgconfiglite strawberryperl nasm -y --no-progress + run: | + choco install pkgconfiglite strawberryperl nasm -y --no-progress + # choco only updates the machine PATH in the registry, which GitHub Actions + # does not carry into later steps. vcpkg's openssl port runs find_program(perl) + # against the step PATH, so without this it falls back to the dead download URL. + # Push Strawberry Perl's bin dirs onto GITHUB_PATH so run-vcpkg finds perl. + "C:\Strawberry\c\bin", "C:\Strawberry\perl\site\bin", "C:\Strawberry\perl\bin" | + Where-Object { Test-Path $_ } | + ForEach-Object { Add-Content -Path $env:GITHUB_PATH -Value $_ } - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6 diff --git a/.github/workflows/build-featurebranch.yml b/.github/workflows/build-featurebranch.yml index 9dcadef15c..266cd967f2 100644 --- a/.github/workflows/build-featurebranch.yml +++ b/.github/workflows/build-featurebranch.yml @@ -114,7 +114,15 @@ jobs: - name: Provide build tools on PATH (pinned 2021 vcpkg's own download URLs are dead) # bzip2 fetches msys2 pkg-config; openssl fetches Strawberry Perl and NASM. # Those URLs are dead, so install the tools and let vcpkg find them on PATH. - run: choco install pkgconfiglite strawberryperl nasm -y --no-progress + run: | + choco install pkgconfiglite strawberryperl nasm -y --no-progress + # choco only updates the machine PATH in the registry, which GitHub Actions + # does not carry into later steps. vcpkg's openssl port runs find_program(perl) + # against the step PATH, so without this it falls back to the dead download URL. + # Push Strawberry Perl's bin dirs onto GITHUB_PATH so run-vcpkg finds perl. + "C:\Strawberry\c\bin", "C:\Strawberry\perl\site\bin", "C:\Strawberry\perl\bin" | + Where-Object { Test-Path $_ } | + ForEach-Object { Add-Content -Path $env:GITHUB_PATH -Value $_ } - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6 with: @@ -155,7 +163,15 @@ jobs: - name: Provide build tools on PATH (pinned 2021 vcpkg's own download URLs are dead) # bzip2 fetches msys2 pkg-config; openssl fetches Strawberry Perl and NASM. # Those URLs are dead, so install the tools and let vcpkg find them on PATH. - run: choco install pkgconfiglite strawberryperl nasm -y --no-progress + run: | + choco install pkgconfiglite strawberryperl nasm -y --no-progress + # choco only updates the machine PATH in the registry, which GitHub Actions + # does not carry into later steps. vcpkg's openssl port runs find_program(perl) + # against the step PATH, so without this it falls back to the dead download URL. + # Push Strawberry Perl's bin dirs onto GITHUB_PATH so run-vcpkg finds perl. + "C:\Strawberry\c\bin", "C:\Strawberry\perl\site\bin", "C:\Strawberry\perl\bin" | + Where-Object { Test-Path $_ } | + ForEach-Object { Add-Content -Path $env:GITHUB_PATH -Value $_ } - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6 with: diff --git a/.github/workflows/build-master.yml b/.github/workflows/build-master.yml index f61c3eb558..3c4920c706 100644 --- a/.github/workflows/build-master.yml +++ b/.github/workflows/build-master.yml @@ -236,7 +236,15 @@ jobs: - name: Provide build tools on PATH (pinned 2021 vcpkg's own download URLs are dead) # bzip2 fetches msys2 pkg-config; openssl fetches Strawberry Perl and NASM. # Those URLs are dead, so install the tools and let vcpkg find them on PATH. - run: choco install pkgconfiglite strawberryperl nasm -y --no-progress + run: | + choco install pkgconfiglite strawberryperl nasm -y --no-progress + # choco only updates the machine PATH in the registry, which GitHub Actions + # does not carry into later steps. vcpkg's openssl port runs find_program(perl) + # against the step PATH, so without this it falls back to the dead download URL. + # Push Strawberry Perl's bin dirs onto GITHUB_PATH so run-vcpkg finds perl. + "C:\Strawberry\c\bin", "C:\Strawberry\perl\site\bin", "C:\Strawberry\perl\bin" | + Where-Object { Test-Path $_ } | + ForEach-Object { Add-Content -Path $env:GITHUB_PATH -Value $_ } - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6 @@ -313,7 +321,15 @@ jobs: - name: Provide build tools on PATH (pinned 2021 vcpkg's own download URLs are dead) # bzip2 fetches msys2 pkg-config; openssl fetches Strawberry Perl and NASM. # Those URLs are dead, so install the tools and let vcpkg find them on PATH. - run: choco install pkgconfiglite strawberryperl nasm -y --no-progress + run: | + choco install pkgconfiglite strawberryperl nasm -y --no-progress + # choco only updates the machine PATH in the registry, which GitHub Actions + # does not carry into later steps. vcpkg's openssl port runs find_program(perl) + # against the step PATH, so without this it falls back to the dead download URL. + # Push Strawberry Perl's bin dirs onto GITHUB_PATH so run-vcpkg finds perl. + "C:\Strawberry\c\bin", "C:\Strawberry\perl\site\bin", "C:\Strawberry\perl\bin" | + Where-Object { Test-Path $_ } | + ForEach-Object { Add-Content -Path $env:GITHUB_PATH -Value $_ } - name: Install vcpkg and packages with cache uses: lukka/run-vcpkg@v6