Skip to content

Commit f14ea8a

Browse files
committed
Several fixes to windows workflow
- Update pinned version of vcpkg - Set VCPKG_DEFAULT_BINARY_CACHE and make sure it exists - Don't use run-vcpkg any more
1 parent 5f0ece2 commit f14ea8a

1 file changed

Lines changed: 41 additions & 19 deletions

File tree

.github/workflows/build.yml

Lines changed: 41 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,17 @@ jobs:
4343
crypto: [OpenSSL, BCrypt]
4444
env:
4545
VCPKG_ROOT: ${{ github.workspace }}/vcpkg
46+
VCPKG_DEFAULT_BINARY_CACHE: ${{ github.workspace }}/vcpkg-bincache
47+
VCPKG_BINARY_SOURCES: clear;files,${{ github.workspace }}/vcpkg-bincache,readwrite
4648
steps:
4749
- uses: actions/checkout@main
4850

51+
# Mark all directories as safe so checkouts performed in CMakeLists.txt don't cause "unsafe repository" errors.
52+
# See https://github.com/actions/checkout/issues/766
53+
- name: Configure Git
54+
run: git config --global --add safe.directory '*'
55+
shell: cmd
56+
4957
- uses: lukka/get-cmake@latest
5058

5159
# Setup MSVC command prompt environment vars.
@@ -54,30 +62,45 @@ jobs:
5462
# install of vcpkg, and we don't want that
5563
- uses: ilammy/msvc-dev-cmd@v1
5664

57-
- name: Restore artifacts, setup vcpkg
58-
uses: lukka/run-vcpkg@v11
65+
- name: set VCPKG_ROOT
66+
run: |
67+
"VCPKG_ROOT=${{ github.workspace }}/vcpkg" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
68+
shell: pwsh
69+
70+
- name: Setup local vcpkg
71+
run: |
72+
git clone https://github.com/microsoft/vcpkg.git "${{ env.VCPKG_ROOT }}"
73+
cd /d "${{ env.VCPKG_ROOT }}"
74+
git checkout c3867e714dd3a51c272826eea77267876517ed99
75+
call bootstrap-vcpkg.bat -disableMetrics
76+
shell: cmd
77+
78+
- name: Ensure vcpkg cache directories exist
79+
run: |
80+
New-Item -ItemType Directory -Path "${{ env.VCPKG_ROOT }}/downloads" -Force | Out-Null
81+
New-Item -ItemType Directory -Path "${{ env.VCPKG_DEFAULT_BINARY_CACHE }}" -Force | Out-Null
82+
shell: pwsh
83+
84+
- name: Restore vcpkg caches
85+
uses: actions/cache@v4
5986
with:
60-
vcpkgGitCommitId: fba75d09065fcc76a25dcf386b1d00d33f5175af
61-
vcpkgDirectory: '${{ github.workspace }}/vcpkg'
62-
vcpkgJsonGlob: vcpkg.json
63-
runVcpkgInstall: false
87+
path: |
88+
${{ env.VCPKG_ROOT }}/downloads
89+
${{ env.VCPKG_DEFAULT_BINARY_CACHE }}
90+
key: vcpkg-${{ runner.os }}-${{ matrix.os-version }}-${{ matrix.crypto }}-c3867e714dd3a51c272826eea77267876517ed99-${{ hashFiles('vcpkg.json') }}
91+
restore-keys: |
92+
vcpkg-${{ runner.os }}-${{ matrix.os-version }}-${{ matrix.crypto }}-
6493
6594
- name: vcpkg check / install dependencies
6695
working-directory: '${{ github.workspace }}'
67-
run: '"${{env.VCPKG_ROOT}}\\vcpkg" install --triplet=x64-windows'
96+
run: '"${{env.VCPKG_ROOT}}\vcpkg" install --vcpkg-root "${{env.VCPKG_ROOT}}" --triplet=x64-windows'
6897
shell: cmd
6998

70-
- name: Install dependencies and generate project files
99+
- name: cmake generate project files
71100
run: |
72101
mkdir build
73102
cd build
74-
cmake -S .. -G Ninja -DBUILD_TESTS=ON -DBUILD_EXAMPLES=ON -DBUILD_TOOLS=ON -DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake -DUSE_CRYPTO=${{matrix.crypto}}
75-
shell: cmd
76-
77-
# Mark all directories as safe so checkouts performed in CMakeLists.txt don't cause "unsafe repository" errors.
78-
# See https://github.com/actions/checkout/issues/766
79-
- name: Configure Git
80-
run: git config --global --add safe.directory '*'
103+
cmake -S .. -G Ninja -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl -DBUILD_TESTS=ON -DBUILD_EXAMPLES=ON -DBUILD_TOOLS=ON "-DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake" -DUSE_CRYPTO=${{matrix.crypto}}
81104
shell: cmd
82105

83106
- name: Build projects
@@ -92,8 +115,7 @@ jobs:
92115

93116
- name: Test connection
94117
working-directory: '${{ github.workspace }}/build/bin'
95-
#run: test_connection.exe suite-quick # Loopback throughput test not performing on github hosted runners for some reason
96-
97-
run: test_connection.exe identity quick lane_quick_queueanddrain lane_quick_priority_and_background
118+
run: |
119+
rem test_connection.exe suite-quick -- Loopback throughput test not performing on github hosted runners for some reason
120+
test_connection.exe identity quick lane_quick_queueanddrain lane_quick_priority_and_background
98121
shell: cmd
99-

0 commit comments

Comments
 (0)