Skip to content

Merge main into develop (template-sync catch-up)#28

Merged
Chris-Wolfgang merged 25 commits into
developfrom
chore/merge-main-into-develop
Apr 26, 2026
Merged

Merge main into develop (template-sync catch-up)#28
Chris-Wolfgang merged 25 commits into
developfrom
chore/merge-main-into-develop

Conversation

@Chris-Wolfgang

Copy link
Copy Markdown
Owner

Summary

Catch develop up to main after the recent template-sync work. Develop was 24 behind / 39 ahead before this; this PR pulls those 24 commits in.

What lands on develop:

  • MIT LICENSE (replaces MPL-2.0)
  • REPO-INSTRUCTIONS.md, refreshed docfx_project/ (structure, placeholders filled, root toc, logo)
  • Workflow upgrades: pr.yaml v3 (gated), expanded release.yaml (validate / pack / smoke / SBOM), docfx.yaml callable deploy
  • Refreshed scripts: Setup-BranchRuleset.ps1, Setup-GitHubPages.ps1, Fix-BranchRuleset.ps1, format.ps1, updated build-pr.ps1
  • Removes SETUP.md, create-labels.yaml, docs/index.html, stale _site/manifest.json

Conflict resolution

  • workflows/, scripts/, BannedSymbols.txt — took main (latest CI/template-synced versions)
  • README.md — kept develop (real project README; main only had configure-from-template scaffolding)

Test plan

  • CI passes on develop's source code with the new workflows
  • Logger src/tests still build and tests pass
  • BannedSymbols.txt doesn't fire false positives in current source

🤖 Generated with Claude Code

Chris-Wolfgang and others added 25 commits April 14, 2026 20:56
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sync with repo-template: multi-stage gated CI with security hardening,
trusted config fetch from main, and 90% coverage gate.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Added: .gitattributes .globalconfig BannedSymbols.txt SECURITY.md .gitleaks.toml Directory.Build.props build-pr.ps1 setup.ps1 Setup-GitHubPages.ps1 Setup-Labels.ps1 codeql.yaml build-all-versions.yaml version-picker

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- setup.ps1: Allow dotfiles at repo root in .slnx generation (fixes
  .editorconfig, .gitignore, .globalconfig being excluded)
- Setup-GitHubPages.ps1: Remove hardcoded repo default, auto-detect
  via gh repo view
- build-pr.ps1: Install gitleaks to ~/.local/bin instead of
  /usr/local/bin (avoids sudo requirement)
- build-pr.ps1: Fail when no test projects found (matches CI behavior)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bring template-tracked files in line with the canonical version in
repo-template. Repo-specific files (Directory.Build.props, README.md,
LICENSE, .gitignore, Solution.slnx, docfx_project/docfx.json,
docfx_project/index.md, .github/CODEOWNERS, .github/dependabot.yml,
.github/copilot-instructions.md) are intentionally NOT changed in this
PR.

Files updated:

- .github/workflows/pr.yaml — picks up the MSBuild-based TFM detection
  fix and the graceful skip-when-no-tests fix
- .github/workflows/docfx.yaml — picks up the SemVer prerelease sort fix
- .github/workflows/release.yaml — sync with template
- .editorconfig — sync with template
- scripts/Setup-BranchRuleset.ps1, scripts/Setup-GitHubPages.ps1,
  scripts/build-pr.ps1, scripts/setup.ps1 — sync with template
Add files present in repo-template but missing from this repo. No
existing files are modified or removed in this PR.

Scripts:
- scripts/Fix-BranchRuleset.ps1
- scripts/format.ps1

Issue templates:
- .github/ISSUE_TEMPLATE/feature_request.yaml (new YAML form)

Documentation:
- README-TEMPLATE.md
- REPO-INSTRUCTIONS.md
- docs/RELEASE-WORKFLOW-SETUP.md
- docs/SECURITY.md

DocFX assets:
- docfx_project/api/README.md
- docfx_project/api/index.md
- docfx_project/docs/index.md
- docfx_project/toc.yml
- docfx_project/logo.svg

License variants (multi-license support):
- LICENSE-APACHE-2.0.txt
- LICENSE-MIT.txt
- LICENSE-MPL-2.0.txt
Files removed:

- .github/ISSUE_TEMPLATE/feature_request.md — superseded by the
  YAML form .github/ISSUE_TEMPLATE/feature_request.yaml (added in
  companion PR)

- .github/workflows/create-labels.yaml — repo-template manages
  labels via scripts/Setup-Labels.ps1 instead; the workflow is no
  longer used in the template

- docfx_project/_site/manifest.json — DocFX build output that should
  not be checked in

- docs/index.html — generated artifact; repo-template does not check
  in a docs/index.html

- SETUP.md — replaced by REPO-INSTRUCTIONS.md (added in companion PR)
Removes script changes from this PR. The four script files contained
post-setup customizations (resolved repo name, bug fixes from PR #19's
review feedback) that shouldn't be reverted by syncing from
repo-template:

- Setup-BranchRuleset.ps1: keep resolved Chris-Wolfgang/In-memory-Logger
- Setup-GitHubPages.ps1: keep resolved repo name and auto-detect block
- build-pr.ps1: keep gitleaks ~/.local/bin install (no sudo) and
  fail-on-no-test-projects behavior
- setup.ps1: keep dotfiles-at-repo-root fix for .slnx generation

This PR now only syncs the truly template-tracked files: .editorconfig
and the three workflow yamls.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bring template-tracked files in line with the canonical version in
repo-template. Repo-specific files (Directory.Build.props, README.md,
LICENSE, .gitignore, Solution.slnx, docfx_project/docfx.json,
docfx_project/index.md, .github/CODEOWNERS, .github/dependabot.yml,
.github/copilot-instructions.md) are intentionally NOT changed in this
PR.

Files updated:

- .github/workflows/pr.yaml — picks up the MSBuild-based TFM detection
  fix and the graceful skip-when-no-tests fix
- .github/workflows/docfx.yaml — picks up the SemVer prerelease sort fix
- .github/workflows/release.yaml — sync with template
- .editorconfig — sync with template
- scripts/Setup-BranchRuleset.ps1, scripts/Setup-GitHubPages.ps1,
  scripts/build-pr.ps1, scripts/setup.ps1 — sync with template
Removes script changes from this PR. The four script files contained
post-setup customizations (resolved repo name, bug fixes from PR #19's
review feedback) that shouldn't be reverted by syncing from
repo-template:

- Setup-BranchRuleset.ps1: keep resolved Chris-Wolfgang/In-memory-Logger
- Setup-GitHubPages.ps1: keep resolved repo name and auto-detect block
- build-pr.ps1: keep gitleaks ~/.local/bin install (no sudo) and
  fail-on-no-test-projects behavior
- setup.ps1: keep dotfiles-at-repo-root fix for .slnx generation

This PR now only syncs the truly template-tracked files: .editorconfig
and the three workflow yamls.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace Wolfgang.InMemoryLogger references with the full project name
that matches the src folder, so README install instructions and DocFX
placeholders point at the correct NuGet package ID.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace `src/<path>/<project>.csproj` with the standard `src/**/*.csproj`
glob used by sibling repos so DocFX picks up the source project.
Set `_appName` and `_appTitle` to Wolfgang.Extensions.Logging.InMemoryLogger.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…template-20260425-183114

# Conflicts:
#	REPO-INSTRUCTIONS.md
The {{PROJECT_NAME}} fill-in is being applied separately because
BannedSymbols.txt is a CI-protected configuration file. See #25.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace the template placeholder in the header comment with the actual
project name, Wolfgang.Extensions.Logging.InMemoryLogger.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ate-20260425-183114

Configure repository from template
README-TEMPLATE.md and the LICENSE-*.txt alternatives are placeholders
the configure-from-template flow leaves behind. README.md and LICENSE
are now project-specific, so these stand-in copies aren't needed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- docfx_project/index.md: '# Title' -> '# Wolfgang.Extensions.Logging.InMemoryLogger'
- docfx_project/docs/index.md: '{{PROJECT_NAME}} Documentation' -> project name
- docfx_project/api/index.md: '{{PROJECT_NAME}} API documentation' -> project name
- docfx_project/docs/toc.yml: 'Project website' link pointed at DbContextBuilder by mistake; fix to In-memory-Logger

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…over-files

Remove template-only LICENSE-*.txt and README-TEMPLATE.md
…aceholders

Fill remaining DocFX content placeholders
Brings in: CI workflow upgrades (pr.yaml v3 gated, expanded release.yaml,
DocFX deploy), MIT LICENSE, REPO-INSTRUCTIONS.md, refreshed scripts,
docfx_project structure refresh, and placeholder fills.

Conflict resolution:
- workflows, scripts, BannedSymbols.txt: take main (latest CI infra)
- README.md: keep develop (project-specific content, not scaffolding)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Chris-Wolfgang Chris-Wolfgang merged commit e45ba09 into develop Apr 26, 2026
@Chris-Wolfgang Chris-Wolfgang deleted the chore/merge-main-into-develop branch April 26, 2026 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant