Skip to content

Commit c78b502

Browse files
Pre-release cleanup: config alignment, build scripts, docs fix, whitespace (#96)
* Initial plan * Apply improvements from agent reviews: fix docs, configs, build scripts, whitespace Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
1 parent 225ed31 commit c78b502

File tree

12 files changed

+49
-39
lines changed

12 files changed

+49
-39
lines changed

.editorconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ root = true
66
# All files
77
[*]
88
charset = utf-8
9+
end_of_line = lf
910
indent_style = space
1011
indent_size = 4
1112
insert_final_newline = true

.markdownlint-cli2.jsonc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"MD003": { "style": "atx" },
55
"MD007": { "indent": 2 },
66
"MD013": { "line_length": 120 },
7+
"MD025": false,
78
"MD033": false,
89
"MD041": false
910
},

build.bat

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
@echo off
22
setlocal
33

4-
REM Restore dependencies
5-
dotnet restore
6-
if errorlevel 1 exit /b 1
7-
8-
REM Build the project
4+
echo Building BuildMark...
95
dotnet build --configuration Release
106
if errorlevel 1 exit /b 1
117

12-
REM Run tests
8+
echo Running unit tests...
139
dotnet test --configuration Release
1410
if errorlevel 1 exit /b 1
1511

16-
echo Build completed successfully!
12+
echo Running self-validation...
13+
dotnet run --project src/DemaConsulting.BuildMark --configuration Release --framework net10.0 --no-build -- --validate
14+
if errorlevel 1 exit /b 1
15+
16+
echo Build, tests, and validation completed successfully!

build.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
#!/bin/bash
22
set -e
33

4-
# Restore dependencies
5-
dotnet restore
6-
7-
# Build the project
4+
echo "🔧 Building BuildMark..."
85
dotnet build --configuration Release
96

10-
# Run tests
7+
echo "🧪 Running unit tests..."
118
dotnet test --configuration Release
9+
10+
echo "✅ Running self-validation..."
11+
dotnet run --project src/DemaConsulting.BuildMark --configuration Release --framework net10.0 --no-build -- --validate
12+
13+
echo "✨ Build, tests, and validation completed successfully!"

docs/guide/guide.md

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -350,11 +350,10 @@ The self-validation suite includes the following tests that verify core function
350350

351351
| Test Name | Description |
352352
| :-------- | :---------- |
353-
| `BuildMark_VersionTagParsing` | Verifies parsing and comparing version tags from Git repositories |
354-
| `BuildMark_BuildInformationExtraction` | Verifies extracting build information from Git history |
355353
| `BuildMark_MarkdownReportGeneration` | Verifies generating markdown build notes reports |
356-
| `BuildMark_GitHubRepositoryConnector` | Verifies integration with GitHub API for issue and PR retrieval |
357-
| `BuildMark_MockRepositoryConnector` | Verifies mock repository connector for testing |
354+
| `BuildMark_GitIntegration` | Verifies git integration for version and commit information |
355+
| `BuildMark_IssueTracking` | Verifies issue tracking for changes and bugs |
356+
| `BuildMark_KnownIssuesReporting` | Verifies known issues reporting functionality |
358357

359358
These tests provide evidence of the tool's functionality and are particularly useful for:
360359

@@ -374,16 +373,23 @@ Example output:
374373
BuildMark version 1.0.0
375374
Copyright (c) DEMA Consulting
376375
377-
# BuildMark Self-Validation Tests
376+
# DEMA Consulting BuildMark Self-validation
378377
379-
[PASS] Version Tag Parsing
380-
[PASS] Build Information Extraction
381-
[PASS] Markdown Report Generation
382-
[PASS] GitHub Repository Connector
383-
[PASS] Mock Repository Connector
378+
| Information | Value |
379+
| :------------------ | :------------------------------------------------- |
380+
| BuildMark Version | 1.0.0 |
381+
| Machine Name | my-machine |
382+
| OS Version | Ubuntu 24.04.3 LTS |
383+
| DotNet Runtime | .NET 10.0.3 |
384+
| Time Stamp | 2026-01-15 10:30:00 UTC |
384385
385-
Total Tests: 5
386-
Passed: 5
386+
✓ Markdown Report Generation Test - PASSED
387+
✓ Git Integration Test - PASSED
388+
✓ Issue Tracking Test - PASSED
389+
✓ Known Issues Reporting Test - PASSED
390+
391+
Total Tests: 4
392+
Passed: 4
387393
Failed: 0
388394
```
389395

src/DemaConsulting.BuildMark/RepoConnectors/GitHubRepoConnector.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ private static (Version? fromVersion, string? fromHash) DetermineBaselineVersion
393393
private static Version? DetermineBaselineForPreRelease(int toIndex, string toHash, LookupData lookupData)
394394
{
395395
var releaseVersions = lookupData.ReleaseVersions;
396-
396+
397397
// Determine starting index for search
398398
int startIndex;
399399
if (toIndex >= 0 && toIndex < releaseVersions.Count - 1)
@@ -422,7 +422,7 @@ private static (Version? fromVersion, string? fromHash) DetermineBaselineVersion
422422
for (var i = startIndex; i < releaseVersions.Count; i++)
423423
{
424424
var candidateVersion = releaseVersions[i];
425-
425+
426426
// Get commit hash for candidate version
427427
if (lookupData.TagToRelease.TryGetValue(candidateVersion.Tag, out var candidateRelease) &&
428428
lookupData.TagsByName.TryGetValue(candidateRelease.TagName!, out var candidateTag) &&

test/DemaConsulting.BuildMark.Tests/GitHubRepoConnectorTests.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public async Task GitHubRepoConnector_GetBuildInformationAsync_WithMultipleVersi
128128
Assert.IsNotNull(buildInfo);
129129
Assert.AreEqual("2.0.0", buildInfo.CurrentVersionTag.VersionInfo.FullVersion);
130130
Assert.AreEqual("commit3", buildInfo.CurrentVersionTag.CommitHash);
131-
131+
132132
// Should have selected v1.1.0 as baseline (previous non-prerelease)
133133
Assert.IsNotNull(buildInfo.BaselineVersionTag);
134134
Assert.AreEqual("1.1.0", buildInfo.BaselineVersionTag.VersionInfo.FullVersion);
@@ -254,12 +254,12 @@ public async Task GitHubRepoConnector_GetBuildInformationAsync_WithOpenIssues_Id
254254

255255
// Assert
256256
Assert.IsNotNull(buildInfo);
257-
257+
258258
// Known issues are open issues that aren't linked to any changes in this release
259259
Assert.IsNotNull(buildInfo.KnownIssues);
260260
// Since we have no PRs, all open issues should be known issues
261261
Assert.IsGreaterThanOrEqualTo(1, buildInfo.KnownIssues.Count, $"Expected at least 1 known issue, got {buildInfo.KnownIssues.Count}");
262-
262+
263263
// Verify at least one known issue is present
264264
var knownIssueTitles = buildInfo.KnownIssues.Select(i => i.Title).ToList();
265265
var hasExpectedIssue = knownIssueTitles.Exists(t => t.Contains("Known bug") || t.Contains("Feature request"));
@@ -306,7 +306,7 @@ public async Task GitHubRepoConnector_GetBuildInformationAsync_PreReleaseWithSam
306306
Assert.IsNotNull(buildInfo);
307307
Assert.AreEqual("1.1.2-rc.1", buildInfo.CurrentVersionTag.VersionInfo.FullVersion);
308308
Assert.AreEqual("a1b2c3d4", buildInfo.CurrentVersionTag.CommitHash);
309-
309+
310310
// Should have skipped 1.1.2-beta.2 (same hash) and selected 1.1.2-beta.1 (different hash)
311311
Assert.IsNotNull(buildInfo.BaselineVersionTag);
312312
Assert.AreEqual("1.1.2-beta.1", buildInfo.BaselineVersionTag.VersionInfo.FullVersion);
@@ -358,7 +358,7 @@ public async Task GitHubRepoConnector_GetBuildInformationAsync_ReleaseVersion_Sk
358358
Assert.IsNotNull(buildInfo);
359359
Assert.AreEqual("1.1.2", buildInfo.CurrentVersionTag.VersionInfo.FullVersion);
360360
Assert.AreEqual("commit5", buildInfo.CurrentVersionTag.CommitHash);
361-
361+
362362
// Should have skipped all pre-releases and selected 1.1.1
363363
Assert.IsNotNull(buildInfo.BaselineVersionTag);
364364
Assert.AreEqual("1.1.1", buildInfo.BaselineVersionTag.VersionInfo.FullVersion);
@@ -404,7 +404,7 @@ public async Task GitHubRepoConnector_GetBuildInformationAsync_PreReleaseNotInHi
404404
Assert.IsNotNull(buildInfo);
405405
Assert.AreEqual("1.1.2-beta.2", buildInfo.CurrentVersionTag.VersionInfo.FullVersion);
406406
Assert.AreEqual("new-hash-123", buildInfo.CurrentVersionTag.CommitHash);
407-
407+
408408
// Should use most recent release with different hash
409409
Assert.IsNotNull(buildInfo.BaselineVersionTag);
410410
Assert.AreEqual("1.1.2-beta.1", buildInfo.BaselineVersionTag.VersionInfo.FullVersion);
@@ -448,7 +448,7 @@ public async Task GitHubRepoConnector_GetBuildInformationAsync_PreReleaseAllPrev
448448
Assert.IsNotNull(buildInfo);
449449
Assert.AreEqual("1.1.2-rc.1", buildInfo.CurrentVersionTag.VersionInfo.FullVersion);
450450
Assert.AreEqual("same-hash-123", buildInfo.CurrentVersionTag.CommitHash);
451-
451+
452452
// Should have null baseline since all previous versions are on the same hash
453453
Assert.IsNull(buildInfo.BaselineVersionTag);
454454
}

test/DemaConsulting.BuildMark.Tests/MockRepoConnectorTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ public async Task MockRepoConnector_GetBuildInformationAsync_CategorizesChangesC
148148
// - Issue #3 is documentation (type "documentation")
149149
var allItems = buildInfo.Changes.Concat(buildInfo.Bugs).ToList();
150150
Assert.IsGreaterThan(0, allItems.Count, "Should have at least one change");
151-
151+
152152
// Verify bugs only contain items with type "bug"
153153
foreach (var bug in buildInfo.Bugs)
154154
{

test/DemaConsulting.BuildMark.Tests/ProcessRunnerTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public async Task ProcessRunner_TryRunAsync_WithValidCommand_ReturnsOutput()
4848

4949
// Assert - Verify output is returned and contains expected text
5050
Assert.IsNotNull(result, "TryRunAsync should return output for successful command");
51-
Assert.IsTrue(result.Contains("test", StringComparison.OrdinalIgnoreCase),
51+
Assert.IsTrue(result.Contains("test", StringComparison.OrdinalIgnoreCase),
5252
"Output should contain the echoed text");
5353
}
5454

test/DemaConsulting.BuildMark.Tests/RepoConnectors/GitHub/GitHubGraphQLClientGetAllIssuesTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public async Task GitHubGraphQLClient_GetAllIssuesAsync_ValidResponse_ReturnsIss
8484
// Assert
8585
Assert.IsNotNull(issues);
8686
Assert.HasCount(2, issues);
87-
87+
8888
Assert.AreEqual(1, issues[0].Number);
8989
Assert.AreEqual("Bug: Application crashes on startup", issues[0].Title);
9090
Assert.AreEqual("https://github.com/owner/repo/issues/1", issues[0].Url);

0 commit comments

Comments
 (0)