From 22f686f4545b5427f7ec0ffe1c79f970a8b01573 Mon Sep 17 00:00:00 2001 From: Edward Nolan Date: Sun, 24 May 2026 19:40:03 -0400 Subject: [PATCH] Exemplar updates since 2026-05-01 lint: add missing SPDX license identifiers to CONTRIBUTING.md and port/portfile.cmake.in add .beman-tidy.yaml config file bump pre-commit-update workflow from 1.6.0 to 1.7.1 (other workflows and infra changes from this exemplar commit were already applied) remove Debug.Dynamic from CI test matrix (mirrors exemplar dropping static library support; scan_view's default build is INTERFACE) bump vcpkg registry baselines (microsoft/vcpkg and bemanproject/vcpkg-registry) in vcpkg-configuration.json bump pre-commit-update workflow from 1.7.1 to 1.7.2 (other workflows were already on 1.7.2) add concurrency group to ci_tests.yml to cancel in-progress runs on new pushes bump infra beman-submodule to latest main and add CMake 4.3.3 support in enable-experimental-import-std.cmake bump infra-workflows from 1.7.2 to 1.7.3 across all workflows bump gersemi pre-commit hook from 0.27.5 to 0.27.6 and beman-tidy from v0.4.1 to v0.5.0 update README.md badges to link to CI workflows and the maturity model, with each badge on its own line bump beman-tidy pre-commit hook from v0.5.0 to v0.5.1 remove redundant note about include search path modifications from README.md bump bemanproject/vcpkg-registry baseline in vcpkg-configuration.json bump microsoft/vcpkg baseline in vcpkg-configuration.json --- .beman-tidy.yaml | 10 ++++++++++ .exemplar_version | 2 +- .github/workflows/ci_tests.yml | 18 +++++++++++------- .github/workflows/pre-commit-check.yml | 2 +- .github/workflows/pre-commit-update.yml | 2 +- .github/workflows/vcpkg-release.yml | 2 +- .pre-commit-config.yaml | 4 ++-- CONTRIBUTING.md | 4 ++++ README.md | 16 ++++++++-------- infra/.beman_submodule | 2 +- .../cmake/enable-experimental-import-std.cmake | 4 ++++ port/portfile.cmake.in | 1 + vcpkg-configuration.json | 4 ++-- 13 files changed, 47 insertions(+), 24 deletions(-) create mode 100644 .beman-tidy.yaml diff --git a/.beman-tidy.yaml b/.beman-tidy.yaml new file mode 100644 index 0000000..24d798b --- /dev/null +++ b/.beman-tidy.yaml @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +# This is the config file for beman-tidy, which checks compliance with the Beman Standard (https://github.com/bemanproject/beman/blob/main/docs/beman_standard.md) +# Check documentation for beman-tidy here: +# https://github.com/bemanproject/beman-tidy/blob/main/README.md + +disabled_rules: + # None +ignored_paths: + # None diff --git a/.exemplar_version b/.exemplar_version index 1fe9d8b..14f6221 100644 --- a/.exemplar_version +++ b/.exemplar_version @@ -1 +1 @@ -07a42c8a3ace7b889d4d98df8f9ec3a4cf74887f +ec861600898941a5114f352f1efcba57d825b6d0 diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 3cce3e8..4ad4379 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -11,12 +11,16 @@ on: schedule: - cron: '0 17 * * 6' +concurrency: + group: ${{format('{0}:{1}', github.repository, github.ref)}} + cancel-in-progress: true + jobs: beman-submodule-check: - uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-submodule-check.yml@1.7.2 + uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-submodule-check.yml@1.7.3 preset-test: - uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-preset-test.yml@1.7.2 + uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-preset-test.yml@1.7.3 with: matrix_config: > [ @@ -31,7 +35,7 @@ jobs: ] build-and-test: - uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-build-and-test.yml@1.7.2 + uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-build-and-test.yml@1.7.3 with: matrix_config: > { @@ -43,7 +47,7 @@ jobs: { "stdlibs": ["libstdc++"], "tests": [ "Debug.Default", "Release.Default", "Release.TSan", - "Release.MaxSan", "Debug.Werror", "Debug.Dynamic", + "Release.MaxSan", "Debug.Werror", "Debug.Coverage", "Debug.-DBEMAN_SCAN_VIEW_USE_MODULES=On" ] } @@ -78,7 +82,7 @@ jobs: { "stdlibs": ["libstdc++", "libc++"], "tests": [ "Debug.Default", "Release.Default", "Release.TSan", - "Release.MaxSan", "Debug.Werror", "Debug.Dynamic", + "Release.MaxSan", "Debug.Werror", "Debug.-DBEMAN_SCAN_VIEW_USE_MODULES=On" ] } @@ -136,7 +140,7 @@ jobs: } vcpkg-ci: - uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-ci.yml@1.7.2 + uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-ci.yml@1.7.3 with: port_name: beman-scan-view feature_combinations: | @@ -148,4 +152,4 @@ jobs: create-issue-when-fault: needs: [preset-test, build-and-test] if: failure() && github.event_name == 'schedule' - uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-create-issue-when-fault.yml@1.7.2 + uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-create-issue-when-fault.yml@1.7.3 diff --git a/.github/workflows/pre-commit-check.yml b/.github/workflows/pre-commit-check.yml index 594fea5..0281976 100644 --- a/.github/workflows/pre-commit-check.yml +++ b/.github/workflows/pre-commit-check.yml @@ -18,4 +18,4 @@ permissions: jobs: pre-commit: - uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-pre-commit.yml@1.7.2 + uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-pre-commit.yml@1.7.3 diff --git a/.github/workflows/pre-commit-update.yml b/.github/workflows/pre-commit-update.yml index bb8fc46..73edc2b 100644 --- a/.github/workflows/pre-commit-update.yml +++ b/.github/workflows/pre-commit-update.yml @@ -9,7 +9,7 @@ on: jobs: auto-update-pre-commit: - uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-update-pre-commit.yml@1.6.0 + uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-update-pre-commit.yml@1.7.3 secrets: APP_ID: ${{ secrets.AUTO_PR_BOT_APP_ID }} PRIVATE_KEY: ${{ secrets.AUTO_PR_BOT_PRIVATE_KEY }} diff --git a/.github/workflows/vcpkg-release.yml b/.github/workflows/vcpkg-release.yml index 11374a2..1d1fa38 100644 --- a/.github/workflows/vcpkg-release.yml +++ b/.github/workflows/vcpkg-release.yml @@ -6,7 +6,7 @@ on: types: [published] jobs: vcpkg-release: - uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-release.yml@1.7.2 + uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-release.yml@1.7.3 with: port_name: beman-scan-view secrets: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e39af2e..5fb2e36 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -22,7 +22,7 @@ repos: # CMake linting and formatting - repo: https://github.com/BlankSpruce/gersemi-pre-commit - rev: 0.27.5 + rev: 0.27.6 hooks: - id: gersemi name: CMake linting @@ -43,7 +43,7 @@ repos: # Beman Standard checking via beman-tidy - repo: https://github.com/bemanproject/beman-tidy - rev: v0.4.1 + rev: v0.5.1 hooks: - id: beman-tidy diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 65aa6eb..19f8ba0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,7 @@ + + # Development ## Configure and Build the Project Using CMake Presets diff --git a/README.md b/README.md index 2b4eba6..a49e3df 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,14 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception --> - -![Library Status](https://raw.githubusercontent.com/bemanproject/beman/refs/heads/main/images/badges/beman_badge-beman_library_under_development.svg) ![Continuous Integration Tests](https://github.com/bemanproject/scan_view/actions/workflows/ci_tests.yml/badge.svg) ![Lint Check (pre-commit)](https://github.com/bemanproject/scan_view/actions/workflows/pre-commit-check.yml/badge.svg) [![Coverage](https://coveralls.io/repos/github/bemanproject/scan_view/badge.svg?branch=main)](https://coveralls.io/github/bemanproject/scan_view?branch=main) ![Standard Target](https://github.com/bemanproject/beman/blob/main/images/badges/cpp29.svg) [![Compiler Explorer Example](https://img.shields.io/badge/Try%20it%20on%20Compiler%20Explorer-grey?logo=compilerexplorer&logoColor=67c52a)](https://godbolt.org/z/qMvEhWKf9) + +[![Library Status](https://raw.githubusercontent.com/bemanproject/beman/refs/heads/main/images/badges/beman_badge-beman_library_under_development.svg)](https://github.com/bemanproject/beman/blob/main/docs/beman_library_maturity_model.md#the-beman-library-maturity-model) +[![Continuous Integration Tests](https://github.com/bemanproject/scan_view/actions/workflows/ci_tests.yml/badge.svg)](https://github.com/bemanproject/scan_view/actions/workflows/ci_tests.yml) +[![Lint Check (pre-commit)](https://github.com/bemanproject/scan_view/actions/workflows/pre-commit-check.yml/badge.svg)](https://github.com/bemanproject/scan_view/actions/workflows/pre-commit-check.yml) +[![Coverage](https://coveralls.io/repos/github/bemanproject/scan_view/badge.svg?branch=main)](https://coveralls.io/github/bemanproject/scan_view?branch=main) +![Standard Target](https://github.com/bemanproject/beman/blob/main/images/badges/cpp29.svg) +[![Compiler Explorer Example](https://img.shields.io/badge/Try%20it%20on%20Compiler%20Explorer-grey?logo=compilerexplorer&logoColor=67c52a)](https://godbolt.org/z/qMvEhWKf9) + **Implements**: `std::views::scan` proposed in [`views::scan` (P3351R4)](https://wg21.link/P3351R4). @@ -172,9 +178,3 @@ include an appropriate `beman.scan_view` header from your source code. ```c++ #include ``` - -> [!NOTE] -> -> `beman.scan_view` headers are to be included with the `beman/scan_view/` prefix. -> Altering include search paths to spell the include target another way (e.g. -> `#include `) is unsupported. diff --git a/infra/.beman_submodule b/infra/.beman_submodule index 4e9900c..a24c23d 100644 --- a/infra/.beman_submodule +++ b/infra/.beman_submodule @@ -1,3 +1,3 @@ [beman_submodule] remote=https://github.com/bemanproject/infra.git -commit_hash=b7b533a00ba72049c7c583f4344dfb7c04342a0f +commit_hash=d536fc285ae058cf8f5b736b5ff73d18a421b296 diff --git a/infra/cmake/enable-experimental-import-std.cmake b/infra/cmake/enable-experimental-import-std.cmake index 20fc302..0ac9604 100644 --- a/infra/cmake/enable-experimental-import-std.cmake +++ b/infra/cmake/enable-experimental-import-std.cmake @@ -187,4 +187,8 @@ elseif(CMAKE_VERSION VERSION_EQUAL "4.3.2") set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD "451f2fe2-a8a2-47c3-bc32-94786d8fc91b" ) +elseif(CMAKE_VERSION VERSION_EQUAL "4.3.3") + set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD + "451f2fe2-a8a2-47c3-bc32-94786d8fc91b" + ) endif() diff --git a/port/portfile.cmake.in b/port/portfile.cmake.in index f008d49..4d32844 100644 --- a/port/portfile.cmake.in +++ b/port/portfile.cmake.in @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO bemanproject/scan_view diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json index 25169b2..0924600 100644 --- a/vcpkg-configuration.json +++ b/vcpkg-configuration.json @@ -2,13 +2,13 @@ "default-registry": { "kind": "git", "repository": "https://github.com/microsoft/vcpkg.git", - "baseline": "80f9bcfa455e875d9c1bf7a7c6692d7e1e481061" + "baseline": "aa40adda5352e87655b8583cfb2451d5e9e276fd" }, "registries": [ { "kind": "git", "repository": "https://github.com/bemanproject/vcpkg-registry.git", - "baseline": "5195f94f2b550163917c1152180fc59bbd760556", + "baseline": "e1aa5c3c2a46486cc1384d70beab939d76bfe128", "packages": ["beman-*"] } ]