Skip to content

Commit fbdcfac

Browse files
Clean repo artifacts, add CONTRIBUTING guide, and add Windows diagram CI parity
1 parent 4ce201b commit fbdcfac

7 files changed

Lines changed: 96 additions & 73 deletions

File tree

.github/workflows/ci.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,29 @@ jobs:
197197
- name: Run C++ tests
198198
run: ctest --preset ci-windows-release
199199

200+
windows-diagram:
201+
name: Windows diagram-dot
202+
runs-on: windows-2022
203+
204+
steps:
205+
- name: Checkout
206+
uses: actions/checkout@v4
207+
208+
- name: Setup vcpkg
209+
uses: lukka/run-vcpkg@v11
210+
with:
211+
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT }}
212+
doNotCache: false
213+
214+
- name: Configure
215+
run: cmake --preset ci-windows-release-diagram
216+
217+
- name: Build
218+
run: cmake --build --preset ci-windows-release-diagram --parallel
219+
220+
- name: Run C++ tests
221+
run: ctest --preset ci-windows-release-diagram
222+
200223
diagram-render-smoke:
201224
name: Diagram Render Smoke
202225
runs-on: ubuntu-24.04

.gitignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,8 +278,13 @@ CTestTestfile.cmake
278278
_deps/
279279
compile_commands.json
280280

281+
# Local diagram tool outputs
282+
graph_example*.dot
283+
graph_example*.svg
284+
graph_example*.png
285+
281286
# vcpkg manifest-mode artifacts (machine-local)
282287
vcpkg_installed/
283288

284289
# Custom
285-
working/
290+
working/

CMakePresets.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,14 @@
8181
"CMAKE_BUILD_TYPE": "Release"
8282
}
8383
},
84+
{
85+
"name": "ci-windows-release-diagram",
86+
"inherits": "ci-windows-release",
87+
"cacheVariables": {
88+
"FLUXGRAPH_BUILD_DIAGRAM_TOOL": "ON",
89+
"FLUXGRAPH_JSON_ENABLED": "ON"
90+
}
91+
},
8492
{
8593
"name": "ci-linux-release-json",
8694
"inherits": "ci-linux-release",
@@ -162,6 +170,11 @@
162170
"configurePreset": "ci-windows-release",
163171
"configuration": "Release"
164172
},
173+
{
174+
"name": "ci-windows-release-diagram",
175+
"configurePreset": "ci-windows-release-diagram",
176+
"configuration": "Release"
177+
},
165178
{
166179
"name": "ci-linux-release-json",
167180
"configurePreset": "ci-linux-release-json"
@@ -235,6 +248,14 @@
235248
"outputOnFailure": true
236249
}
237250
},
251+
{
252+
"name": "ci-windows-release-diagram",
253+
"configurePreset": "ci-windows-release-diagram",
254+
"configuration": "Release",
255+
"output": {
256+
"outputOnFailure": true
257+
}
258+
},
238259
{
239260
"name": "ci-linux-release-json",
240261
"configurePreset": "ci-linux-release-json",

CONTRIBUTING.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Contributing to FluxGraph
2+
3+
Thanks for contributing.
4+
5+
FluxGraph is part of the FEAST ecosystem. For shared organization-level engineering and governance context, see:
6+
https://github.com/FEASTorg/
7+
8+
## Local Development
9+
10+
Prerequisites:
11+
12+
1. CMake 3.20+
13+
2. C++17 toolchain
14+
3. `VCPKG_ROOT` configured
15+
16+
Typical loop:
17+
18+
```bash
19+
cmake --preset dev-release
20+
cmake --build --preset dev-release
21+
ctest --preset dev-release --output-on-failure
22+
```
23+
24+
Windows:
25+
26+
```powershell
27+
cmake --preset dev-windows-release
28+
cmake --build --preset dev-windows-release --config Release
29+
ctest --preset dev-windows-release -C Release --output-on-failure
30+
```
31+
32+
## Pull Request Expectations
33+
34+
1. Keep changes scoped and cohesive.
35+
2. Add/update tests for behavioral changes.
36+
3. Update relevant docs for public-surface changes.
37+
4. Keep core dependency boundaries intact (see `docs/dependencies.md`).
38+
5. Ensure CI is green before merge.
39+
40+
## Design and Semantics References
41+
42+
1. `docs/semantics_spec.md`
43+
2. `docs/numerical-methods.md`
44+
3. `docs/graph-visualization.md`
45+
4. `docs/dependencies.md`

docs/dependencies.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ This document defines FluxGraph policy for dependency management, preset usage,
2727

2828
## CI Lane Tiers
2929

30-
- **Required**: Linux core build/test lane, Windows core build/test lane.
30+
- **Required**: Linux core build/test lane, Linux diagram-dot lane, Windows core build/test lane, Windows diagram-dot lane, and diagram render smoke lane.
3131
- **Advisory/matrix**: Linux JSON, YAML, and server-enabled lanes.
3232
- **Optional heavy lanes**: extended sanitizer/stress/integration runs.
3333

graph_example.png

-27.9 KB
Binary file not shown.

graph_example.svg

Lines changed: 0 additions & 71 deletions
This file was deleted.

0 commit comments

Comments
 (0)