- Update vcpkg to current 2025.12.12 Release, commit
84bab45
- Current versions of libraries are e.g.:
cairo 1.18.4, expat 2.7.3, fontconfig 2.17.1, freetype 2.13.3,
gettext 0.22.5, glib 2.86.2, libpng 1.6.53, pango 1.56.4,
pcre2 10.47, libxml2 2.15.1 and zlib 1.3.1
- Github actions:
* Switch from `lukka/run-vcpkg` to `johnwason/vcpkg-action`
* Update `actions/checkout` from v4 to v6
* Update `actions/upload-artifact` from v4 to v6
- `win32/collect_rrdtool_vcpkg_files.bat`:
Remove `liblzma.dll`, as deprecated feature lzma has been removed
from libxml2 in vcpkg.
See: https://github.com/microsoft/vcpkg/pull/47380
strategy:
fail-fast: false
matrix:
- # https://github.com/actions/virtual-environments/blob/main/images/win/Windows2022-Readme.md
+ # https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
os: [windows-2022]
carch: [x86_64]
defaults:
- name: Disable git autocrlf
run: git config --global core.autocrlf false
shell: cmd
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
- uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
run: |
echo 'Running in MSYS2!'
./ci-build_MSYS2.sh
- # - uses: actions/upload-artifact@v4
+ # - uses: actions/upload-artifact@v6
# with:
# name: test-suite.log
# path: tests/test-suite.log
strategy:
fail-fast: false
matrix:
- # https://github.com/actions/virtual-environments/blob/main/images/win/Windows2022-Readme.md
+ # https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
os: [windows-2022]
- triplet: [x64-windows, x86-windows]
+ vcpkg_triplet: [x64-windows, x86-windows]
include:
- os: windows-2022
- triplet: x64-windows
- # https://github.com/microsoft/vcpkg/commit/b02e341c927f16d991edbd915d8ea43eac52096c
- vcpkgCommitId: 'b02e341c927f16d991edbd915d8ea43eac52096c'
+ vcpkg_triplet: x64-windows
+ # https://github.com/microsoft/vcpkg/releases/tag/2025.12.12
+ # https://github.com/microsoft/vcpkg/commit/84bab45d415d22042bd0b9081aea57f362da3f35
+ vcpkgCommitId: '84bab45d415d22042bd0b9081aea57f362da3f35'
vcpkgPackages: 'cairo expat fontconfig freetype gettext glib libpng libxml2 pango pcre zlib'
configuration: 'x64'
nmake_configuration: 'USE_64BIT=1'
- os: windows-2022
- triplet: x86-windows
- vcpkgCommitId: 'b02e341c927f16d991edbd915d8ea43eac52096c'
+ vcpkg_triplet: x86-windows
+ vcpkgCommitId: '84bab45d415d22042bd0b9081aea57f362da3f35'
vcpkgPackages: 'cairo expat fontconfig freetype gettext glib libpng libxml2 pango pcre zlib'
configuration: 'x86'
nmake_configuration: ''
env:
buildDir: '${{ github.workspace }}/build/'
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
with:
submodules: true
- # Restore from cache the previously built ports. If cache-miss, download and build vcpkg (aka "bootstrap vcpkg").
- - name: Restore from cache and install vcpkg
- # Download and build vcpkg.
- uses: lukka/run-vcpkg@v7
+ # vcpkg-action
+ # https://github.com/johnwason/vcpkg-action
+ - name: vcpkg build
+ uses: johnwason/vcpkg-action@v7
+ id: vcpkg
with:
- setupOnly: false
- # Location of vcpkg in the Git repository.
- vcpkgDirectory: '${{ github.workspace }}/vcpkg'
- vcpkgGitCommitId: '${{ matrix.vcpkgCommitId}}'
- vcpkgTriplet: ${{ matrix.triplet }}
- vcpkgArguments: '${{ matrix.vcpkgPackages }}'
- # Ensure the vcpkg artifacts are cached, they are generated in the 'CMAKE_BINARY_DIR/vcpkg_installed' directory.
- additionalCachedPaths: ${{ env.buildDir }}/vcpkg_installed
+ pkgs: '${{ matrix.vcpkgPackages }}'
+ triplet: ${{ matrix.vcpkg_triplet }}
+ cache-key: ${{ matrix.configuration }}
+ revision: '${{ matrix.vcpkgCommitId}}'
+ token: ${{ github.token }}
- name: Build ${{ matrix.configuration }}
run: |
strategy:
fail-fast: false
matrix:
- # https://github.com/actions/virtual-environments/blob/main/images/win/Windows2022-Readme.md
+ # https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
os: [windows-2022]
- triplet: [x64-windows, x86-windows]
+ vcpkg_triplet: [x64-windows, x86-windows]
include:
- os: windows-2022
- triplet: x64-windows
- # https://github.com/microsoft/vcpkg/commit/b02e341c927f16d991edbd915d8ea43eac52096c
- vcpkgCommitId: 'b02e341c927f16d991edbd915d8ea43eac52096c'
+ vcpkg_triplet: x64-windows
+ # https://github.com/microsoft/vcpkg/releases/tag/2025.12.12
+ # https://github.com/microsoft/vcpkg/commit/84bab45d415d22042bd0b9081aea57f362da3f35
+ vcpkgCommitId: '84bab45d415d22042bd0b9081aea57f362da3f35'
vcpkgPackages: 'cairo expat fontconfig freetype gettext glib libpng libxml2 pango pcre zlib'
configuration: 'x64'
nmake_configuration: 'USE_64BIT=1'
- os: windows-2022
- triplet: x86-windows
- vcpkgCommitId: 'b02e341c927f16d991edbd915d8ea43eac52096c'
+ vcpkg_triplet: x86-windows
+ vcpkgCommitId: '84bab45d415d22042bd0b9081aea57f362da3f35'
vcpkgPackages: 'cairo expat fontconfig freetype gettext glib libpng libxml2 pango pcre zlib'
configuration: 'x86'
nmake_configuration: ''
env:
buildDir: '${{ github.workspace }}/build/'
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
with:
submodules: true
- # Restore from cache the previously built ports. If cache-miss, download and build vcpkg (aka "bootstrap vcpkg").
- - name: Restore from cache and install vcpkg
- # Download and build vcpkg.
- uses: lukka/run-vcpkg@v7
+ # vcpkg-action
+ # https://github.com/johnwason/vcpkg-action
+ - name: vcpkg build
+ uses: johnwason/vcpkg-action@v7
+ id: vcpkg
with:
- setupOnly: false
- # Location of vcpkg in the Git repository.
- vcpkgDirectory: '${{ github.workspace }}/vcpkg'
- vcpkgGitCommitId: '${{ matrix.vcpkgCommitId}}'
- vcpkgTriplet: ${{ matrix.triplet }}
- vcpkgArguments: '${{ matrix.vcpkgPackages }}'
- # Ensure the vcpkg artifacts are cached, they are generated in the 'CMAKE_BINARY_DIR/vcpkg_installed' directory.
- additionalCachedPaths: ${{ env.buildDir }}/vcpkg_installed
+ pkgs: '${{ matrix.vcpkgPackages }}'
+ triplet: ${{ matrix.vcpkg_triplet }}
+ cache-key: ${{ matrix.configuration }}
+ revision: '${{ matrix.vcpkgCommitId}}'
+ token: ${{ github.token }}
+
- name: Build ${{ matrix.configuration }}
run: |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.configuration }}
nmake -f win32\Makefile_vcpkg.msc ${{ matrix.nmake_configuration }}
+
- name: Collect files
run: |
win32\collect_rrdtool_vcpkg_files.bat ${{ matrix.configuration }}
- - uses: actions/upload-artifact@v4
+
+ - uses: actions/upload-artifact@v6
with:
name: deploy-rrdtool-MSVC-${{ matrix.configuration }}
path: win32/nmake_release_${{ matrix.configuration }}_vcpkg/rrdtool-*-${{ matrix.configuration }}_vcpkg/
@ echo off\r
REM This script collects the built .exe and .dll files required for running RRDtool.\r
REM It is supposed to be run after an MSVC build using nmake and libraries from vcpkg.\r
-REM Wolfgang Stöggl <c72578@yahoo.de>, 2017-2022.\r
+REM Wolfgang Stöggl <c72578@yahoo.de>, 2017-2025.\r
\r
REM Run the batch file with command line parameter x64 or x86\r
if "%1"=="" (\r
xcopy /Y /D %base_dir%\vcpkg\installed\%1-windows\bin\intl-8.dll %release_dir%\r
xcopy /Y /D %base_dir%\vcpkg\installed\%1-windows\bin\libpng16.dll %release_dir%\r
xcopy /Y /D %base_dir%\vcpkg\installed\%1-windows\bin\libxml2.dll %release_dir%\r
-xcopy /Y /D %base_dir%\vcpkg\installed\%1-windows\bin\liblzma.dll %release_dir%\r
xcopy /Y /D %base_dir%\vcpkg\installed\%1-windows\bin\pango-1.0-0.dll %release_dir%\r
xcopy /Y /D %base_dir%\vcpkg\installed\%1-windows\bin\pangocairo-1.0-0.dll %release_dir%\r
xcopy /Y /D %base_dir%\vcpkg\installed\%1-windows\bin\pangoft2-1.0-0.dll %release_dir%\r