Skip to content

Commit d601573

Browse files
committed
Test vcpkg nuget.
1 parent 88f90f7 commit d601573

1 file changed

Lines changed: 36 additions & 12 deletions

File tree

.github/workflows/build-pcl.yml

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ name: build-pcl
22

33
on: [push, pull_request]
44

5+
permissions:
6+
packages: write
7+
58
jobs:
69
gcc-build:
710
runs-on: ubuntu-24.04
@@ -230,23 +233,44 @@ jobs:
230233
generator: 'Visual Studio 17 2022'
231234
platform_args: '-A x64'
232235
env:
236+
USERNAME: PointCloudLibrary
237+
FEED_URL: https://nuget.pkg.github.com/PointCloudLibrary/index.json
238+
VCPKG_BINARY_SOURCES: "clear;nuget,https://nuget.pkg.github.com/PointCloudLibrary/index.json,readwrite"
233239
CONFIGURATION: Release
234-
VCPKG_ROOT: '${{ github.workspace }}\vcpkg'
235240
IS_MAIN: ${{ github.ref == 'refs/heads/master' }}
236241
steps:
237242
- uses: actions/checkout@v4
238-
- name: Cache vcpkg installed
239-
uses: actions/cache@v4
240-
with:
241-
path: ${{ env.VCPKG_ROOT }}\installed
242-
key: vcpkg-${{ matrix.architecture }}-${{ hashFiles('**/vcpkg.json') }}
243-
restore-keys: |
244-
vcpkg-${{ matrix.architecture }}-
243+
- name: "check is VCPKG_PAT_TOKEN exists"
244+
env:
245+
super_secret: ${{ secrets.VCPKG_PAT_TOKEN }}
246+
if: ${{ env.super_secret == '' }}
247+
run: 'echo "echo the secret \"VCPKG_PAT_TOKEN\" has not been made; echo please go to \"settings \> secrets \> actions\" to create it"'
248+
- name: Bootstrap vcpkg
249+
run: |
250+
echo $VCPKG_INSTALLATION_ROOT
251+
cd "$VCPKG_INSTALLATION_ROOT"
252+
ls
253+
git pull > nul
254+
./bootstrap-vcpkg.bat -disableMetrics
255+
shell: bash
256+
- name: Add NuGet sources
257+
shell: pwsh
258+
run: |
259+
.$(vcpkg fetch nuget) `
260+
sources add `
261+
-Source "${{ env.FEED_URL }}" `
262+
-StorePasswordInClearText `
263+
-Name GitHubPackages `
264+
-UserName "${{ env.USERNAME }}" `
265+
-Password "${{ secrets.VCPKG_PAT_TOKEN }}"
266+
.$(vcpkg fetch nuget) `
267+
setapikey "${{ secrets.VCPKG_PAT_TOKEN }}" `
268+
-Source "${{ env.FEED_URL }}"
245269
- name: Setup vcpkg
246270
shell: pwsh
247271
run: |
248-
if (-Not (Test-Path "$Env:VCPKG_ROOT")) { git clone https://github.com/microsoft/vcpkg.git "$Env:VCPKG_ROOT" }
249-
cd "$Env:VCPKG_ROOT"
272+
if (-Not (Test-Path "$Env:VCPKG_INSTALLATION_ROOT")) { git clone https://github.com/microsoft/vcpkg.git "$Env:VCPKG_INSTALLATION_ROOT" }
273+
cd "$Env:VCPKG_INSTALLATION_ROOT"
250274
.\bootstrap-vcpkg.bat
251275
- name: Set vcpkg triplet
252276
shell: pwsh
@@ -257,13 +281,13 @@ jobs:
257281
shell: pwsh
258282
run: |
259283
$packages = @('boost','eigen3','flann','qhull','cjson','gtest','vtk','glew','freeglut')
260-
foreach ($p in $packages) { & "$Env:VCPKG_ROOT\vcpkg.exe" install "$($p):$Env:VCPKG_TRIPLET" }
284+
foreach ($p in $packages) { & "$Env:VCPKG_INSTALLATION_ROOT\vcpkg.exe" install "$($p):$Env:VCPKG_TRIPLET" }
261285
- name: Configure (${{ matrix.name }})
262286
shell: cmd
263287
run: |
264288
cmake -B build -S . -G"${{ matrix.generator }}" ${{ matrix.platform_args }} ^
265289
-DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% ^
266-
-DCMAKE_TOOLCHAIN_FILE="%VCPKG_ROOT%\scripts\buildsystems\vcpkg.cmake" ^
290+
-DCMAKE_TOOLCHAIN_FILE="%VCPKG_INSTALLATION_ROOT%\scripts\buildsystems\vcpkg.cmake" ^
267291
-DCMAKE_BUILD_TYPE=MinSizeRel ^
268292
-DVCPKG_APPLOCAL_DEPS=ON ^
269293
-DPCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32=ON ^

0 commit comments

Comments
 (0)