Skip to content

Commit 32edb3a

Browse files
authored
Merge baseline Expected (#53)
Baseline std::expected<T, E> implementation Project scaffolding GitHub Actions Doxygen generation Tests and CI all Green
2 parents 3d60279 + 995fa5a commit 32edb3a

119 files changed

Lines changed: 28268 additions & 1477 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.beman-tidy.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
2+
3+
# 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)
4+
# Check documentation for beman-tidy here:
5+
# https://github.com/bemanproject/beman-tidy/blob/main/README.md
6+
7+
disabled_rules: []
8+
ignored_paths: []

.clang-format

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ IndentCaseBlocks: false
125125
IndentCaseLabels: false
126126
IndentExternBlock: AfterExternBlock
127127
IndentGotoLabels: true
128-
IndentPPDirectives: None
128+
IndentPPDirectives: BeforeHash
129129
IndentRequiresClause: true
130130
IndentWidth: 4
131131
IndentWrappedFunctionNames: false

.copier-answers.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Standard answers and internal state managed by Copier
2+
_commit: 2.0.0-322-gc3c230c
3+
_src_path: https://github.com/steve-downey/exemplar.git
4+
description: Expected Over References
5+
maintainer: steve-downey
6+
minimum_cpp_build_version: '20'
7+
paper: PnnnnRr
8+
project_name: expected
9+
unit_test_library: catch2
10+
# Hidden variables manually tracked because 'when: false' omits them from _copier_answers
11+
generating_exemplar: false
12+
owner: "bemanproject"
13+
ci_tests_cron: "15 12 * * 2"
14+
pre_commit_update_cron: "50 7 * * 4"

.exemplar_version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ec861600898941a5114f352f1efcba57d825b6d0

.gitattributes

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
infra/** linguist-vendored
2-
cookiecutter/** linguist-vendored
2+
template/** linguist-vendored
3+
copier/** linguist-vendored
34
*.bib -linguist-detectable
45
*.tex -linguist-detectable
56
papers/* linguist-documentation

.github/workflows/ci_tests.yml

Lines changed: 76 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ on:
99
pull_request:
1010
workflow_dispatch:
1111
schedule:
12-
- cron: '30 15 * * *'
12+
- cron: '15 12 * * 2'
13+
14+
concurrency:
15+
group: ${{format('{0}:{1}', github.repository, github.ref)}}
16+
cancel-in-progress: true
1317

1418
jobs:
1519
beman-submodule-check:
@@ -36,35 +40,60 @@ jobs:
3640
matrix_config: >
3741
{
3842
"gcc": [
39-
{ "versions": ["15"],
43+
{ "versions": ["16"],
4044
"tests": [
4145
{ "cxxversions": ["c++26"],
4246
"tests": [
4347
{ "stdlibs": ["libstdc++"],
4448
"tests": [
4549
"Debug.Default", "Release.Default", "Release.TSan",
4650
"Release.MaxSan", "Debug.Werror",
47-
"Debug.Coverage"
51+
"Debug.Coverage", "Debug.-DBEMAN_EXPECTED_USE_MODULES=On"
52+
]
53+
}
54+
]
55+
},
56+
{ "cxxversions": ["c++23"],
57+
"tests": [
58+
{ "stdlibs": ["libstdc++"],
59+
"tests": [
60+
"Release.Default", "Debug.-DBEMAN_EXPECTED_USE_MODULES=On"
61+
]
62+
}
63+
]
64+
},
65+
{ "cxxversions": ["c++20"],
66+
"tests": [{ "stdlibs": ["libstdc++"], "tests": ["Release.Default"]}]
67+
}
68+
]
69+
},
70+
{ "versions": ["15"],
71+
"tests": [
72+
{ "cxxversions": ["c++26", "c++23"],
73+
"tests": [
74+
{ "stdlibs": ["libstdc++"],
75+
"tests": [
76+
"Release.Default", "Debug.-DBEMAN_EXPECTED_USE_MODULES=On"
4877
]
4978
}
5079
]
5180
},
52-
{ "cxxversions": ["c++23", "c++20", "c++17"],
81+
{ "cxxversions": ["c++20"],
5382
"tests": [{ "stdlibs": ["libstdc++"], "tests": ["Release.Default"]}]
5483
}
5584
]
5685
},
5786
{ "versions": ["14", "13"],
5887
"tests": [
59-
{ "cxxversions": ["c++26", "c++23", "c++20", "c++17"],
88+
{ "cxxversions": ["c++26", "c++23", "c++20"],
6089
"tests": [{ "stdlibs": ["libstdc++"], "tests": ["Release.Default"]}]
6190
}
6291
]
6392
},
6493
{
6594
"versions": ["12", "11"],
6695
"tests": [
67-
{ "cxxversions": ["c++23", "c++20", "c++17"],
96+
{ "cxxversions": ["c++23", "c++20"],
6897
"tests": [{ "stdlibs": ["libstdc++"], "tests": ["Release.Default"]}]
6998
}
7099
]
@@ -78,12 +107,22 @@ jobs:
78107
{ "stdlibs": ["libstdc++", "libc++"],
79108
"tests": [
80109
"Debug.Default", "Release.Default", "Release.TSan",
81-
"Release.MaxSan", "Debug.Werror"
110+
"Release.MaxSan", "Debug.Werror",
111+
"Debug.-DBEMAN_EXPECTED_USE_MODULES=On"
82112
]
83113
}
84114
]
85115
},
86-
{ "cxxversions": ["c++23", "c++20", "c++17"],
116+
{ "cxxversions": ["c++23"],
117+
"tests": [
118+
{ "stdlibs": ["libstdc++", "libc++"],
119+
"tests": [
120+
"Release.Default", "Debug.-DBEMAN_EXPECTED_USE_MODULES=On"
121+
]
122+
}
123+
]
124+
},
125+
{ "cxxversions": ["c++20"],
87126
"tests": [
88127
{"stdlibs": ["libstdc++", "libc++"], "tests": ["Release.Default"]}
89128
]
@@ -92,19 +131,29 @@ jobs:
92131
},
93132
{ "versions": ["21", "20", "19"],
94133
"tests": [
95-
{ "cxxversions": ["c++26", "c++23", "c++20", "c++17"],
134+
{ "cxxversions": ["c++26", "c++23", "c++20"],
96135
"tests": [
97136
{"stdlibs": ["libstdc++", "libc++"], "tests": ["Release.Default"]}
98137
]
99138
}
100139
]
101140
},
102-
{ "versions": ["18", "17"],
141+
{ "versions": ["18"],
142+
"tests": [
143+
{ "cxxversions": ["c++26", "c++23", "c++20"],
144+
"tests": [{"stdlibs": ["libc++"], "tests": ["Release.Default"]}]
145+
},
146+
{ "cxxversions": ["c++23", "c++20"],
147+
"tests": [{"stdlibs": ["libstdc++"], "tests": ["Release.Default"]}]
148+
}
149+
]
150+
},
151+
{ "versions": ["17"],
103152
"tests": [
104-
{ "cxxversions": ["c++26", "c++23", "c++20", "c++17"],
153+
{ "cxxversions": ["c++26", "c++23", "c++20"],
105154
"tests": [{"stdlibs": ["libc++"], "tests": ["Release.Default"]}]
106155
},
107-
{ "cxxversions": ["c++20", "c++17"],
156+
{ "cxxversions": ["c++20"],
108157
"tests": [{"stdlibs": ["libstdc++"], "tests": ["Release.Default"]}]
109158
}
110159
]
@@ -113,7 +162,7 @@ jobs:
113162
"appleclang": [
114163
{ "versions": ["latest"],
115164
"tests": [
116-
{ "cxxversions": ["c++26", "c++23", "c++20", "c++17"],
165+
{ "cxxversions": ["c++26", "c++23", "c++20"],
117166
"tests": [{ "stdlibs": ["libc++"], "tests": ["Release.Default"]}]
118167
}
119168
]
@@ -125,7 +174,10 @@ jobs:
125174
{ "cxxversions": ["c++23"],
126175
"tests": [
127176
{ "stdlibs": ["stl"],
128-
"tests": ["Debug.Default", "Release.Default", "Release.MaxSan"]
177+
"tests": [
178+
"Debug.Default", "Release.Default", "Release.MaxSan",
179+
"Debug.-DBEMAN_EXPECTED_USE_MODULES=On"
180+
]
129181
}
130182
]
131183
}
@@ -134,6 +186,16 @@ jobs:
134186
]
135187
}
136188
189+
vcpkg-ci:
190+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-ci.yml@1.7.2
191+
with:
192+
port_name: beman-expected
193+
feature_combinations: |
194+
[
195+
{"features": {}},
196+
{"features": {"modules": true}}
197+
]
198+
137199
create-issue-when-fault:
138200
needs: [preset-test, build-and-test]
139201
if: failure() && github.event_name == 'schedule'

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: Weekly pre-commit autoupdate
55
on:
66
workflow_dispatch:
77
schedule:
8-
- cron: "0 16 * * 0"
8+
- cron: "50 7 * * 4"
99

1010
jobs:
1111
auto-update-pre-commit:
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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+
permissions: {}
10+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-release.yml@1.7.2
11+
with:
12+
port_name: beman-expected
13+
secrets:
14+
VCPKG_REGISTRY_TOKEN: ${{ secrets.VCPKG_REGISTRY_TOKEN }}

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,15 @@
1010

1111
# ignore vscode settings
1212
.vscode
13+
14+
# ignore vim swap files
15+
.swp
16+
17+
# ignore merge/patch backup files
18+
.orig
1319
/.build/
1420
/.install/
1521
/.update-submodules
1622
/uv.lock
1723
.build
24+
/.claude/

.markdownlint.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
12
# MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.35.0/doc/md033.md
23
# Disable inline html linter is needed for <details> <summary>
34
MD033: false

0 commit comments

Comments
 (0)