Skip to content

Commit 93aa627

Browse files
committed
Exemplar updates since 2026-04-27
Raise gtest_discover_tests DISCOVERY_TIMEOUT to 60s in tests/beman/iterator_interface/CMakeLists.txt. Add vcpkg port templates, manifest, and CI/release workflows; bump infra-workflows from 1.5.3 to 1.6.0; bump infra submodule. Bump vcpkg registry baselines in vcpkg-configuration.json (default-registry and bemanproject/vcpkg-registry). Remove superfluous comments around project() statement in CMakeLists.txt. Add .swp and .orig to .gitignore. Bump infra/ beman-submodule to latest (rename BemanExemplar_* CMake symbols to Beman_*, fix telemetry typo, correct SPDX id, update README).
1 parent 50a3728 commit 93aa627

20 files changed

Lines changed: 240 additions & 138 deletions

.exemplar_version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ab5c7c0cbf1f67eb43b7be9c2d18acd4d6de1ea4
1+
0131279454a8b54a6038203a7b714e2e0a835039

.github/workflows/ci_tests.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ on:
1313

1414
jobs:
1515
beman-submodule-check:
16-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-submodule-check.yml@1.5.3
16+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-submodule-check.yml@1.6.1
1717

1818
preset-test:
19-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-preset-test.yml@1.5.3
19+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-preset-test.yml@1.6.1
2020
with:
2121
matrix_config: >
2222
[
@@ -27,7 +27,7 @@ jobs:
2727
]
2828
2929
build-and-test:
30-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-build-and-test.yml@1.5.3
30+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-build-and-test.yml@1.6.1
3131
with:
3232
matrix_config: >
3333
{
@@ -118,7 +118,13 @@ jobs:
118118
]
119119
}
120120
121+
vcpkg-ci:
122+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-ci.yml@1.6.1
123+
with:
124+
port_name: beman-iterator-interface
125+
container_image: ghcr.io/bemanproject/infra-containers-gcc:14
126+
121127
create-issue-when-fault:
122128
needs: [preset-test, build-and-test]
123129
if: failure() && github.event_name == 'schedule'
124-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-create-issue-when-fault.yml@1.5.3
130+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-create-issue-when-fault.yml@1.6.1

.github/workflows/pre-commit-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ permissions:
1616

1717
jobs:
1818
pre-commit:
19-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-pre-commit.yml@1.5.3
19+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-pre-commit.yml@1.6.1

.github/workflows/pre-commit-update.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99

1010
jobs:
1111
auto-update-pre-commit:
12-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-update-pre-commit.yml@1.5.3
12+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-update-pre-commit.yml@1.6.1
1313
secrets:
1414
APP_ID: ${{ secrets.AUTO_PR_BOT_APP_ID }}
1515
PRIVATE_KEY: ${{ secrets.AUTO_PR_BOT_PRIVATE_KEY }}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
2+
3+
name: vcpkg registry release
4+
on:
5+
release:
6+
types: [published]
7+
jobs:
8+
vcpkg-release:
9+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-release.yml@1.6.1
10+
with:
11+
port_name: beman-iterator-interface
12+
secrets:
13+
VCPKG_REGISTRY_TOKEN: ${{ secrets.VCPKG_REGISTRY_TOKEN }}

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,9 @@
1010

1111
# ignore vscode settings
1212
.vscode
13+
14+
# ignore vim swap files
15+
.swp
16+
17+
# ignore merge/patch backup files
18+
.orig

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,4 @@ repos:
4545
hooks:
4646
- id: beman-tidy
4747

48-
exclude: 'cookiecutter/|infra/'
48+
exclude: 'cookiecutter/|infra/|port/'

CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
cmake_minimum_required(VERSION 3.30...4.3)
44

55
project(
6-
beman.iterator_interface # CMake Project Name, which is also the name of the top-level
7-
# targets (e.g., library, executable, etc.).
6+
beman.iterator_interface
87
DESCRIPTION "iterator creation mechanisms"
98
LANGUAGES CXX
109
VERSION 0.1.0

CONTRIBUTING.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,30 @@ ctest --test-dir build
5454
5555
## Dependency Management
5656

57+
### vcpkg
58+
59+
The best way to install the project's dependencies is to use the vcpkg workflow.
60+
61+
To do so, make sure vcpkg is installed and `VCPKG_ROOT` is defined in your environment,
62+
then specify
63+
`-DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"`. Vcpkg will handle
64+
the project's dependencies, including GoogleTest.
65+
66+
Example commands:
67+
68+
```
69+
cmake \
70+
-B build \
71+
-S . \
72+
-DCMAKE_CXX_STANDARD=20 \
73+
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"
74+
cmake --build build
75+
ctest --test-dir build
76+
```
77+
78+
The file `./vcpkg.json` configures the list of dependencies that will be configured by
79+
vcpkg.
80+
5781
### FetchContent
5882

5983
Instead of installing the project's dependencies via a package manager, you can optionally

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,17 @@ For details on building beman.iterator_interface without using a CMake preset, r
165165

166166
### Installation
167167

168+
#### Vcpkg
169+
170+
The preferred way to install iterator_interface is via vcpkg. To do so, after installing vcpkg
171+
itself, you need to add support for the Beman project's [vcpkg
172+
registry](https://github.com/bemanproject/vcpkg-registry) by configuring a
173+
`vcpkg-configuration.json` file (which iterator_interface [provides](vcpkg-configuration.json)).
174+
175+
Then, simply run `vcpkg install beman-iterator-interface`.
176+
177+
#### Manual
178+
168179
To install beman.iterator_interface globally after building with the `gcc-release` preset, you can
169180
run:
170181

0 commit comments

Comments
 (0)