docs: add developer documentation under /docs#155
Merged
petesramek merged 1 commit intodevelop/1.0from Apr 3, 2026
Merged
Conversation
Agent-Logs-Url: https://github.com/petesramek/polyline-algorithm-csharp/sessions/03e53ee9-d7d3-4655-b391-f901e7508a5b Co-authored-by: petesramek <2333452+petesramek@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
petesramek
April 3, 2026 20:29
View session
petesramek
approved these changes
Apr 3, 2026
petesramek
added a commit
that referenced
this pull request
Apr 3, 2026
…rhaul (#159) ## Overview Promotes `develop/1.0` to `preview/1.0` in preparation for the 1.0 preview release. This batch brings in a full rewrite of the library's core, docs, CI/CD pipeline, and test suite accumulated since the last preview snapshot. ## What's included ### 🏗️ CI/CD & Workflows - **New workflows**: `bump-version`, `promote-branch` with source-branch enforcement, auto merge-to-main on release - **Branch protection**: new `lock`/`unlock` composite actions; `preview/**` and `release/**` branches are now automatically locked after creation - **Fix**: removed invalid `administration` permission from `release.yml` that caused workflow parse failures (#158) - **Fix**: corrected pull-request-finding logic in promote workflow - **Docs publishing**: URL-aware version switcher via `docs-versioning` template; `versions.json` manifest; reworked `generate-docs` job (#157) ### 📚 Documentation - New `/docs` developer guides: local development, testing conventions, benchmarks, composite actions catalogue, CI workflow reference, branch strategy, versioning pipeline, API doc generation, extensibility guide (#155) - Updated API reference YAMLs for version 1.0 - Fixed grammar, TOC typo, and outdated API references in docs - Updated `CONTRIBUTING.md` with links to all new docs articles - Flushed `PublicAPI.Unshipped.txt` ### 🔧 Source (library) - Refactored internal structure: `CoordinateDelta`, `CoordinateVariance`, `Pow10`, `Defaults`, `ExceptionGuard`, logging helpers - Updated `PolylineEncoder`, `PolylineDecoder`, `PolylineEncoding`, `PolylineEncodingOptions`, `PolylineEncodingOptionsBuilder` - Public API cleanup; `.editorconfig` updated (primary constructors disabled) ### ✅ Tests - Reorganized test files into proper namespace folders (`Abstraction/`, `Extensions/`, `Internal/`) - Added new test classes for `CoordinateDelta`, `CoordinateVariance`, `Pow10`, `ExceptionGuard`, `LogDebugExtensions`, `LogWarningExtensions`, `InvalidPolylineException`, `PolylineEncodingOptionsBuilder`, and encoder/decoder extensions - Removed stale/duplicate test files ### 🛠️ Build & Config - Cleaned up `PolylineAlgorithm.slnx`, `Directory.Build.props`, benchmarks config - Updated `.gitignore` to exclude dynamically generated `api-reference/_docs/` - Misc cleanup (removed junk files, updated `AGENTS.md`) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Pete Sramek <petr.sramek@dropoutcoder.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
petesramek
pushed a commit
that referenced
this pull request
Apr 4, 2026
) ## Overview Promotes `preview/1.0` to `release/1.0` in preparation for the 1.0 release. This batch brings in a full rewrite of the library's core, docs, CI/CD pipeline, and test suite accumulated since the last preview snapshot. ## What's included ### 🏗️ CI/CD & Workflows - **New workflows**: `bump-version`, `promote-branch` with source-branch enforcement, auto merge-to-main on release - **Branch protection**: new `lock`/`unlock` composite actions; `preview/**` and `release/**` branches are now automatically locked after creation - **Fix**: removed invalid `administration` permission from `release.yml` that caused workflow parse failures (#158) - **Fix**: corrected pull-request-finding logic in promote workflow - **Docs publishing**: URL-aware version switcher via `docs-versioning` template; `versions.json` manifest; reworked `generate-docs` job (#157) ### 📚 Documentation - New `/docs` developer guides: local development, testing conventions, benchmarks, composite actions catalogue, CI workflow reference, branch strategy, versioning pipeline, API doc generation, extensibility guide (#155) - Updated API reference YAMLs for version 1.0 - Fixed grammar, TOC typo, and outdated API references in docs - Updated `CONTRIBUTING.md` with links to all new docs articles - Flushed `PublicAPI.Unshipped.txt` ### 🔧 Source (library) - Refactored internal structure: `CoordinateDelta`, `CoordinateVariance`, `Pow10`, `Defaults`, `ExceptionGuard`, logging helpers - Updated `PolylineEncoder`, `PolylineDecoder`, `PolylineEncoding`, `PolylineEncodingOptions`, `PolylineEncodingOptionsBuilder` - Public API cleanup; `.editorconfig` updated (primary constructors disabled) ### ✅ Tests - Reorganized test files into proper namespace folders (`Abstraction/`, `Extensions/`, `Internal/`) - Added new test classes for `CoordinateDelta`, `CoordinateVariance`, `Pow10`, `ExceptionGuard`, `LogDebugExtensions`, `LogWarningExtensions`, `InvalidPolylineException`, `PolylineEncodingOptionsBuilder`, and encoder/decoder extensions - Removed stale/duplicate test files ### 🛠️ Build & Config - Cleaned up `PolylineAlgorithm.slnx`, `Directory.Build.props`, benchmarks config - Updated `.gitignore` to exclude dynamically generated `api-reference/_docs/` - Misc cleanup (removed junk files, updated `AGENTS.md`)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a
/docsfolder with developer-focused guides covering the areas of the project that lack written explanation: composite actions, testing conventions, benchmarks, CI workflows, branching/versioning pipeline, API doc generation, and extensibility.New files
docs/README.md— index linking all sectionsdocs/local-development.md— build/test/format commands with correct config caveats (e.g. always use Release for tests)docs/testing.md— project layout, MSTest conventions, data-driven tests, abstract-class testing patterndocs/benchmarks.md— BenchmarkDotNet structure, writing benchmarks, full CLI flag reference, CI trigger variablesdocs/composite-actions.md— catalogue of all 14 composite actions with inputs, outputs, usage context, and a template for adding new onesdocs/workflows.md— all 6 workflows with job-dependency tables, triggers, shared env vars, and a flow diagram showing how they chaindocs/branch-strategy.md— branch types, lifecycle diagram, protection rules, environment mappingdocs/versioning.md— branch naming → two-stepextract-version/format-versionpipeline with all output formulas and worked examplesdocs/api-documentation.md— two DocFX manifests explained, publishing flow, how to add a new version to the site, local previewdocs/extensibility.md— how to subclassAbstractPolylineEncoder/AbstractPolylineDecoderfor custom coordinate/polyline types, with examples drawn from existing benchmark codeUpdated
CONTRIBUTING.md— new Developer Documentation section with links to all/docsarticles