Skip to content

Repo migration#211

Open
Eli Pinkerton (wallstop) wants to merge 6 commits into
masterfrom
dev/wallstop/swap
Open

Repo migration#211
Eli Pinkerton (wallstop) wants to merge 6 commits into
masterfrom
dev/wallstop/swap

Conversation

@wallstop
Copy link
Copy Markdown
Collaborator

@wallstop Eli Pinkerton (wallstop) commented May 16, 2026

Description

This PR completes a comprehensive repository migration that enhances project infrastructure, automation, and documentation. The changes reorganize the codebase for better maintainability and establish operational runbooks for the release and deployment process.

Changes

Infrastructure & CI/CD

  • Added new GitHub Actions workflows: Release pipeline, Unity testing (IL2CPP), Unity benchmarks, and banner validation
  • Updated Dependabot and release drafter configuration for improved dependency management
  • Enhanced dev container setup for better local development experience
  • Added validation scripts for repository identity and banner compliance

Documentation

  • New operational documentation (docs/ops/) covering:
    • GitHub repository transfer procedures
    • Release operations and versioning workflows
    • NPM package publishing processes
    • OpenUPM metadata management
    • Ambiguous release migration procedures
    • Post-transfer verification checklist
  • Added banner SVG convention guidelines for LLM skills documentation

Automation & Tooling

  • New scripts for automated release runbook generation
  • Repository identity validation tooling
  • Updated pre-commit hooks configuration
  • Enhanced npm package configuration and .npmignore settings

LLM Context & Skills

  • Organized and updated 70+ LLM skill files for better AI agent instruction quality
  • Added comprehensive GitHub Actions guidelines
  • Enhanced documentation, packaging, and performance skill specifications
  • Improved project context for consistent AI-assisted development

Type of Change

  • Refactor (code change that neither fixes a bug nor adds a feature)
  • Documentation update
  • CI/CD improvement

Performance Impact

N/A - Infrastructure and documentation updates only

Testing

  • All existing tests continue to pass
  • New validation scripts verify repository structure integrity
  • Updated CI/CD workflows tested with new Unity test automation

Note

Medium Risk
Medium risk due to new/modified GitHub Actions automation that can publish releases/packages and cancel/redispatch queued runs, plus new self-hosted runner label/config requirements that could break CI if misconfigured.

Overview
Updates repo identity across docs, tooling, and workflows (GitHub URLs, Pages URL, and help links) to reflect the move to Ambiguous-Interactive/DxMessaging, and tweaks Release Drafter to tag releases as v$RESOLVED_VERSION.

Adds several new GitHub Actions workflows: a tag-driven release.yml pipeline that verifies vX.Y.Z matches package.json, runs validations, packs/attests artifacts, runs trusted Unity checks on self-hosted Windows runners, publishes to npm, and creates/updates a GitHub Release; plus new scheduled/dispatchable Unity unity-tests.yml, unity-il2cpp.yml, and unity-benchmarks.yml workflows that serialize on a shared unity-pro-license concurrency lock.

Introduces operational resiliency tooling: .github/actionlint.yaml to teach actionlint custom self-hosted labels, and a scheduled stuck-job-watchdog.yml that detects dispatcher-stuck queued runs, cancels them (rate-limited via a watchdog-state branch), and re-dispatches when safe.

Hardens packaging and hygiene: ignores C# Dev Kit *.lscache and .operator-runbooks/ in both git and npm, extends the npm-tarball leak check to flag .lscache, and adds a banner SVG overhaul with a new scripts/validate-banner.js validator wired into pre-commit and CI (plus accompanying LLM skill doc/index updates).

Reviewed by Cursor Bugbot for commit a366725. Bugbot is set up for automated code reviews on this repo. Configure here.

Copilot AI review requested due to automatic review settings May 16, 2026 22:44
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR is described as a comprehensive repository migration (CI/CD, docs, scripts, LLM skills). However, the diff content actually visible here is limited to a small subset of the migration: a URL update in one analyzer test to point at the new Ambiguous-Interactive/DxMessaging repo, removal of an in-line <!-- Removed copy ... --> comment from a .csproj, and the addition of several auto-generated C# Dev Kit .lscache files (plus Unity .meta siblings) that should not be checked in.

Changes:

  • Update analyzer help-link URL in tests from wallstop/DxMessaging to Ambiguous-Interactive/DxMessaging.
  • Remove a stale XML comment from WallstopStudios.DxMessaging.SourceGenerators.csproj.
  • Add auto-generated *.csproj.lscache cache files (and .meta siblings) for the Analyzer, SourceGenerators, and SourceGenerators.Tests projects.

Reviewed changes

Copilot reviewed 150 out of 154 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
SourceGenerators/.../SourceGenerators.csproj Drops a stale XML comment.
SourceGenerators/.../SourceGenerators.csproj.lscache (+ .meta) Adds an auto-generated C# Dev Kit cache that should not be tracked.
SourceGenerators/.../SourceGenerators.Tests.csproj.lscache (+ .meta) Adds another auto-generated cache containing machine-specific paths/SDKs.
SourceGenerators/.../Analyzer.csproj.lscache (+ .meta) Adds another auto-generated cache file.
SourceGenerators/.../MessageAwareComponentBaseCallAnalyzerTests.cs Updates the analyzer help-link URL to the new org; assumes master branch.

Comment on lines +1 to +193
version=1

# This file caches language service data to improve the performance of C# Dev Kit.
# It is not intended for manual editing. It can safely be deleted and will be
# regenerated automatically. For more information, see https://aka.ms/lscache
#
# To control where cache files are stored, use the following VS Code setting:
# "dotnet.projectsystem.cacheInProjectFolder": true

[project]
language=C#
primary
lastDtbSucceeded

[properties]
AssemblyName=WallstopStudios.DxMessaging.SourceGenerators
CommandLineArgsForDesignTimeEvaluation=-langversion:latest -define:TRACE
CompilerGeneratedFilesOutputPath=
MaxSupportedLangVersion=7.3
ProjectAssetsFile=<PATH>obj/project.assets.json
RootNamespace=WallstopStudios.DxMessaging.SourceGenerators
RunAnalyzers=
RunAnalyzersDuringLiveAnalysis=
SolutionPath=<PATH>../../com.wallstop-studios.dxmessaging.sln
TargetFrameworkIdentifier=.NETStandard
TargetPath=<PATH>bin/Debug/netstandard2.0/WallstopStudios.DxMessaging.SourceGenerators.dll
TargetRefPath=
TemporaryDependencyNodeTargetIdentifier=netstandard2.0

[commandLineArguments]
/noconfig
/unsafe-
/checked-
/nowarn:1701,1702,1701,1702
/fullpaths
/nostdlib+
/errorreport:prompt
/define:TRACE;DEBUG;NETSTANDARD;NETSTANDARD2_0;NETSTANDARD1_0_OR_GREATER;NETSTANDARD1_1_OR_GREATER;NETSTANDARD1_2_OR_GREATER;NETSTANDARD1_3_OR_GREATER;NETSTANDARD1_4_OR_GREATER;NETSTANDARD1_5_OR_GREATER;NETSTANDARD1_6_OR_GREATER;NETSTANDARD2_0_OR_GREATER
/highentropyva+
/debug+
/debug:portable
/filealign:512
/optimize-
/out:obj\Debug\netstandard2.0\WallstopStudios.DxMessaging.SourceGenerators.dll
/target:library
/warnaserror-
/utf8output
/deterministic+
/langversion:latest
/warnaserror+:NU1605

[sourceFiles]
DxAutoConstructorGenerator.cs
DxMessageIdGenerator.cs
obj/Debug/netstandard2.0/
.NETStandard,Version=v2.0.AssemblyAttributes.cs
WallstopStudios.DxMessaging.SourceGenerators.AssemblyInfo.cs

[metadataReferences]
<NUGET>/
microsoft.codeanalysis.common/4.2.0/lib/netstandard2.0/Microsoft.CodeAnalysis.dll
microsoft.codeanalysis.csharp/4.2.0/lib/netstandard2.0/Microsoft.CodeAnalysis.CSharp.dll
netstandard.library/2.0.3/build/netstandard2.0/ref/
Microsoft.Win32.Primitives.dll
mscorlib.dll
netstandard.dll
System.AppContext.dll
System.Collections.Concurrent.dll
System.Collections.dll
System.Collections.NonGeneric.dll
System.Collections.Specialized.dll
System.ComponentModel.Composition.dll
System.ComponentModel.dll
System.ComponentModel.EventBasedAsync.dll
System.ComponentModel.Primitives.dll
System.ComponentModel.TypeConverter.dll
System.Console.dll
System.Core.dll
System.Data.Common.dll
System.Data.dll
System.Diagnostics.Contracts.dll
System.Diagnostics.Debug.dll
System.Diagnostics.FileVersionInfo.dll
System.Diagnostics.Process.dll
System.Diagnostics.StackTrace.dll
System.Diagnostics.TextWriterTraceListener.dll
System.Diagnostics.Tools.dll
System.Diagnostics.TraceSource.dll
System.Diagnostics.Tracing.dll
System.dll
System.Drawing.dll
System.Drawing.Primitives.dll
System.Dynamic.Runtime.dll
System.Globalization.Calendars.dll
System.Globalization.dll
System.Globalization.Extensions.dll
System.IO.Compression.dll
System.IO.Compression.FileSystem.dll
System.IO.Compression.ZipFile.dll
System.IO.dll
System.IO.FileSystem.dll
System.IO.FileSystem.DriveInfo.dll
System.IO.FileSystem.Primitives.dll
System.IO.FileSystem.Watcher.dll
System.IO.IsolatedStorage.dll
System.IO.MemoryMappedFiles.dll
System.IO.Pipes.dll
System.IO.UnmanagedMemoryStream.dll
System.Linq.dll
System.Linq.Expressions.dll
System.Linq.Parallel.dll
System.Linq.Queryable.dll
System.Net.dll
System.Net.Http.dll
System.Net.NameResolution.dll
System.Net.NetworkInformation.dll
System.Net.Ping.dll
System.Net.Primitives.dll
System.Net.Requests.dll
System.Net.Security.dll
System.Net.Sockets.dll
System.Net.WebHeaderCollection.dll
System.Net.WebSockets.Client.dll
System.Net.WebSockets.dll
System.Numerics.dll
System.ObjectModel.dll
System.Reflection.dll
System.Reflection.Extensions.dll
System.Reflection.Primitives.dll
System.Resources.Reader.dll
System.Resources.ResourceManager.dll
System.Resources.Writer.dll
System.Runtime.CompilerServices.VisualC.dll
System.Runtime.dll
System.Runtime.Extensions.dll
System.Runtime.Handles.dll
System.Runtime.InteropServices.dll
System.Runtime.InteropServices.RuntimeInformation.dll
System.Runtime.Numerics.dll
System.Runtime.Serialization.dll
System.Runtime.Serialization.Formatters.dll
System.Runtime.Serialization.Json.dll
System.Runtime.Serialization.Primitives.dll
System.Runtime.Serialization.Xml.dll
System.Security.Claims.dll
System.Security.Cryptography.Algorithms.dll
System.Security.Cryptography.Csp.dll
System.Security.Cryptography.Encoding.dll
System.Security.Cryptography.Primitives.dll
System.Security.Cryptography.X509Certificates.dll
System.Security.Principal.dll
System.Security.SecureString.dll
System.ServiceModel.Web.dll
System.Text.Encoding.dll
System.Text.Encoding.Extensions.dll
System.Text.RegularExpressions.dll
System.Threading.dll
System.Threading.Overlapped.dll
System.Threading.Tasks.dll
System.Threading.Tasks.Parallel.dll
System.Threading.Thread.dll
System.Threading.ThreadPool.dll
System.Threading.Timer.dll
System.Transactions.dll
System.ValueTuple.dll
System.Web.dll
System.Windows.dll
System.Xml.dll
System.Xml.Linq.dll
System.Xml.ReaderWriter.dll
System.Xml.Serialization.dll
System.Xml.XDocument.dll
System.Xml.XmlDocument.dll
System.Xml.XmlSerializer.dll
System.Xml.XPath.dll
System.Xml.XPath.XDocument.dll
system.buffers/4.5.1/ref/netstandard2.0/System.Buffers.dll
system.collections.immutable/5.0.0/lib/netstandard2.0/System.Collections.Immutable.dll
system.memory/4.5.4/lib/netstandard2.0/System.Memory.dll
system.numerics.vectors/4.4.0/ref/netstandard2.0/System.Numerics.Vectors.dll
system.reflection.metadata/5.0.0/lib/netstandard2.0/System.Reflection.Metadata.dll
system.runtime.compilerservices.unsafe/6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll
system.text.encoding.codepages/6.0.0/lib/netstandard2.0/System.Text.Encoding.CodePages.dll
system.threading.tasks.extensions/4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.dll

[analyzerReferences]
<NUGET>/microsoft.codeanalysis.analyzers/3.3.3/analyzers/dotnet/cs/
Microsoft.CodeAnalysis.Analyzers.dll
Microsoft.CodeAnalysis.CSharp.Analyzers.dll

[analyzerConfigFiles]
../../.editorconfig
obj/Debug/netstandard2.0/WallstopStudios.DxMessaging.SourceGenerators.GeneratedMSBuildEditorConfig.editorconfig
Comment on lines +1 to +293
version=1

# This file caches language service data to improve the performance of C# Dev Kit.
# It is not intended for manual editing. It can safely be deleted and will be
# regenerated automatically. For more information, see https://aka.ms/lscache
#
# To control where cache files are stored, use the following VS Code setting:
# "dotnet.projectsystem.cacheInProjectFolder": true

[project]
language=C#
primary
lastDtbSucceeded

[properties]
AssemblyName=WallstopStudios.DxMessaging.SourceGenerators.Tests
CommandLineArgsForDesignTimeEvaluation=-langversion:13.0 -define:TRACE
CompilerGeneratedFilesOutputPath=
MaxSupportedLangVersion=13.0
ProjectAssetsFile=<PATH>obj/project.assets.json
RootNamespace=WallstopStudios.DxMessaging.SourceGenerators.Tests
RunAnalyzers=
RunAnalyzersDuringLiveAnalysis=
SolutionPath=<PATH>../../com.wallstop-studios.dxmessaging.sln
TargetFrameworkIdentifier=.NETCoreApp
TargetPath=<PATH>../../.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll
TargetRefPath=<PATH>../../.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/ref/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll
TemporaryDependencyNodeTargetIdentifier=net9.0

[commandLineArguments]
/noconfig
/unsafe-
/checked-
/nowarn:1701,1702,1701,1702,8002
/fullpaths
/nostdlib+
/errorreport:prompt
/warn:9
/define:TRACE;DEBUG;NET;NET9_0;NETCOREAPP;NET5_0_OR_GREATER;NET6_0_OR_GREATER;NET7_0_OR_GREATER;NET8_0_OR_GREATER;NET9_0_OR_GREATER;NETCOREAPP1_0_OR_GREATER;NETCOREAPP1_1_OR_GREATER;NETCOREAPP2_0_OR_GREATER;NETCOREAPP2_1_OR_GREATER;NETCOREAPP2_2_OR_GREATER;NETCOREAPP3_0_OR_GREATER;NETCOREAPP3_1_OR_GREATER
/highentropyva+
/nullable:enable
/debug+
/debug:portable
/filealign:512
/optimize-
/out:<PATH>../../.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll
/refout:<PATH>../../.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/refint/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll
/target:exe
/warnaserror-
/utf8output
/deterministic+
/langversion:13.0
/warnaserror+:NU1605,SYSLIB0011

[sourceFiles]
../../.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/
.NETCoreApp,Version=v9.0.AssemblyAttributes.cs
WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs
WallstopStudios.DxMessaging.SourceGenerators.Tests.GlobalUsings.g.cs
../../Editor/Analyzers/
BaseCallIlInspector.cs
@folderNames=LinkedFromEditor
BaseCallLogMessageParser.cs
@folderNames=LinkedFromEditor
BaseCallReportAggregator.cs
@folderNames=LinkedFromEditor
BaseCallTypeScannerCore.cs
@folderNames=LinkedFromEditor
<NUGET>/microsoft.net.test.sdk/18.5.1/build/net8.0/Microsoft.NET.Test.Sdk.Program.cs
BaseCallIlInspectorTests.cs
BaseCallLogMessageParserTests.cs
BaseCallTypeScannerTests.cs
CompilationMessageHarvestTests.cs
DocsSnippetCompilationTests.cs
DxAutoConstructorGeneratorDiagnosticsTests.cs
DxMessageIdGeneratorDiagnosticsTests.cs
GeneratorTestUtilities.cs
MessageAwareComponentBaseCallAnalyzerTests.cs

[metadataReferences]
../
WallstopStudios.DxMessaging.Analyzer/bin/Debug/netstandard2.0/WallstopStudios.DxMessaging.Analyzer.dll
WallstopStudios.DxMessaging.SourceGenerators/bin/Debug/netstandard2.0/WallstopStudios.DxMessaging.SourceGenerators.dll
<DOTNET>/packs/Microsoft.NETCore.App.Ref/9.0.15/ref/net9.0/
Microsoft.CSharp.dll
Microsoft.VisualBasic.Core.dll
Microsoft.VisualBasic.dll
Microsoft.Win32.Primitives.dll
Microsoft.Win32.Registry.dll
mscorlib.dll
netstandard.dll
System.AppContext.dll
System.Buffers.dll
System.Collections.Concurrent.dll
System.Collections.dll
System.Collections.Immutable.dll
System.Collections.NonGeneric.dll
System.Collections.Specialized.dll
System.ComponentModel.Annotations.dll
System.ComponentModel.DataAnnotations.dll
System.ComponentModel.dll
System.ComponentModel.EventBasedAsync.dll
System.ComponentModel.Primitives.dll
System.ComponentModel.TypeConverter.dll
System.Configuration.dll
System.Console.dll
System.Core.dll
System.Data.Common.dll
System.Data.DataSetExtensions.dll
System.Data.dll
System.Diagnostics.Contracts.dll
System.Diagnostics.Debug.dll
System.Diagnostics.DiagnosticSource.dll
System.Diagnostics.FileVersionInfo.dll
System.Diagnostics.Process.dll
System.Diagnostics.StackTrace.dll
System.Diagnostics.TextWriterTraceListener.dll
System.Diagnostics.Tools.dll
System.Diagnostics.TraceSource.dll
System.Diagnostics.Tracing.dll
System.dll
System.Drawing.dll
System.Drawing.Primitives.dll
System.Dynamic.Runtime.dll
System.Formats.Asn1.dll
System.Formats.Tar.dll
System.Globalization.Calendars.dll
System.Globalization.dll
System.Globalization.Extensions.dll
System.IO.Compression.Brotli.dll
System.IO.Compression.dll
System.IO.Compression.FileSystem.dll
System.IO.Compression.ZipFile.dll
System.IO.dll
System.IO.FileSystem.AccessControl.dll
System.IO.FileSystem.dll
System.IO.FileSystem.DriveInfo.dll
System.IO.FileSystem.Primitives.dll
System.IO.FileSystem.Watcher.dll
System.IO.IsolatedStorage.dll
System.IO.MemoryMappedFiles.dll
System.IO.Pipelines.dll
System.IO.Pipes.AccessControl.dll
System.IO.Pipes.dll
System.IO.UnmanagedMemoryStream.dll
System.Linq.dll
System.Linq.Expressions.dll
System.Linq.Parallel.dll
System.Linq.Queryable.dll
System.Memory.dll
System.Net.dll
System.Net.Http.dll
System.Net.Http.Json.dll
System.Net.HttpListener.dll
System.Net.Mail.dll
System.Net.NameResolution.dll
System.Net.NetworkInformation.dll
System.Net.Ping.dll
System.Net.Primitives.dll
System.Net.Quic.dll
System.Net.Requests.dll
System.Net.Security.dll
System.Net.ServicePoint.dll
System.Net.Sockets.dll
System.Net.WebClient.dll
System.Net.WebHeaderCollection.dll
System.Net.WebProxy.dll
System.Net.WebSockets.Client.dll
System.Net.WebSockets.dll
System.Numerics.dll
System.Numerics.Vectors.dll
System.ObjectModel.dll
System.Reflection.DispatchProxy.dll
System.Reflection.dll
System.Reflection.Emit.dll
System.Reflection.Emit.ILGeneration.dll
System.Reflection.Emit.Lightweight.dll
System.Reflection.Extensions.dll
System.Reflection.Metadata.dll
System.Reflection.Primitives.dll
System.Reflection.TypeExtensions.dll
System.Resources.Reader.dll
System.Resources.ResourceManager.dll
System.Resources.Writer.dll
System.Runtime.CompilerServices.Unsafe.dll
System.Runtime.CompilerServices.VisualC.dll
System.Runtime.dll
System.Runtime.Extensions.dll
System.Runtime.Handles.dll
System.Runtime.InteropServices.dll
System.Runtime.InteropServices.JavaScript.dll
System.Runtime.InteropServices.RuntimeInformation.dll
System.Runtime.Intrinsics.dll
System.Runtime.Loader.dll
System.Runtime.Numerics.dll
System.Runtime.Serialization.dll
System.Runtime.Serialization.Formatters.dll
System.Runtime.Serialization.Json.dll
System.Runtime.Serialization.Primitives.dll
System.Runtime.Serialization.Xml.dll
System.Security.AccessControl.dll
System.Security.Claims.dll
System.Security.Cryptography.Algorithms.dll
System.Security.Cryptography.Cng.dll
System.Security.Cryptography.Csp.dll
System.Security.Cryptography.dll
System.Security.Cryptography.Encoding.dll
System.Security.Cryptography.OpenSsl.dll
System.Security.Cryptography.Primitives.dll
System.Security.Cryptography.X509Certificates.dll
System.Security.dll
System.Security.Principal.dll
System.Security.Principal.Windows.dll
System.Security.SecureString.dll
System.ServiceModel.Web.dll
System.ServiceProcess.dll
System.Text.Encoding.CodePages.dll
System.Text.Encoding.dll
System.Text.Encoding.Extensions.dll
System.Text.Encodings.Web.dll
System.Text.Json.dll
System.Text.RegularExpressions.dll
System.Threading.Channels.dll
System.Threading.dll
System.Threading.Overlapped.dll
System.Threading.Tasks.Dataflow.dll
System.Threading.Tasks.dll
System.Threading.Tasks.Extensions.dll
System.Threading.Tasks.Parallel.dll
System.Threading.Thread.dll
System.Threading.ThreadPool.dll
System.Threading.Timer.dll
System.Transactions.dll
System.Transactions.Local.dll
System.ValueTuple.dll
System.Web.dll
System.Web.HttpUtility.dll
System.Windows.dll
System.Xml.dll
System.Xml.Linq.dll
System.Xml.ReaderWriter.dll
System.Xml.Serialization.dll
System.Xml.XDocument.dll
System.Xml.XmlDocument.dll
System.Xml.XmlSerializer.dll
System.Xml.XPath.dll
System.Xml.XPath.XDocument.dll
WindowsBase.dll
<NUGET>/
microsoft.applicationinsights/2.23.0/lib/netstandard2.0/Microsoft.ApplicationInsights.dll
microsoft.codeanalysis.common/4.14.0/lib/net9.0/Microsoft.CodeAnalysis.dll
microsoft.codeanalysis.csharp/4.14.0/lib/net9.0/Microsoft.CodeAnalysis.CSharp.dll
microsoft.codecoverage/18.5.1/lib/net8.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll
microsoft.extensions.dependencymodel/8.0.2/lib/net8.0/Microsoft.Extensions.DependencyModel.dll
microsoft.testing.extensions.telemetry/2.1.0/lib/net9.0/Microsoft.Testing.Extensions.Telemetry.dll
microsoft.testing.extensions.trxreport.abstractions/2.1.0/lib/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll
microsoft.testing.extensions.vstestbridge/2.1.0/lib/net9.0/Microsoft.Testing.Extensions.VSTestBridge.dll
microsoft.testing.platform.msbuild/2.1.0/lib/net9.0/Microsoft.Testing.Extensions.MSBuild.dll
microsoft.testing.platform/2.1.0/lib/net9.0/Microsoft.Testing.Platform.dll
microsoft.testplatform.testhost/18.5.1/lib/net8.0/
Microsoft.TestPlatform.CommunicationUtilities.dll
Microsoft.TestPlatform.CoreUtilities.dll
Microsoft.TestPlatform.CrossPlatEngine.dll
Microsoft.TestPlatform.PlatformAbstractions.dll
Microsoft.TestPlatform.Utilities.dll
Microsoft.VisualStudio.TestPlatform.Common.dll
Microsoft.VisualStudio.TestPlatform.ObjectModel.dll
testhost.dll
newtonsoft.json/13.0.3/lib/net6.0/Newtonsoft.Json.dll
nunit/4.6.0/lib/net8.0/
nunit.framework.dll
nunit.framework.legacy.dll

[analyzerReferences]
<DOTNET>/packs/Microsoft.NETCore.App.Ref/9.0.15/analyzers/dotnet/cs/
Microsoft.Interop.ComInterfaceGenerator.dll
Microsoft.Interop.JavaScript.JSImportGenerator.dll
Microsoft.Interop.LibraryImportGenerator.dll
Microsoft.Interop.SourceGeneration.dll
System.Text.Json.SourceGeneration.dll
System.Text.RegularExpressions.Generator.dll
<DOTNET>/sdk/10.0.203/Sdks/Microsoft.NET.Sdk/analyzers/
Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll
Microsoft.CodeAnalysis.NetAnalyzers.dll
<NUGET>/microsoft.codeanalysis.analyzers/3.11.0/analyzers/dotnet/cs/
Microsoft.CodeAnalysis.Analyzers.dll
Microsoft.CodeAnalysis.CSharp.Analyzers.dll

[analyzerConfigFiles]
../../
.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GeneratedMSBuildEditorConfig.editorconfig
.editorconfig
<DOTNET>/sdk/10.0.203/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_9_default.globalconfig
Comment on lines +1 to +7
version=1

# This file caches language service data to improve the performance of C# Dev Kit.
# It is not intended for manual editing. It can safely be deleted and will be
# regenerated automatically. For more information, see https://aka.ms/lscache
#
# To control where cache files are stored, use the following VS Code setting:
Comment on lines +1 to +7
fileFormatVersion: 2
guid: 77ade736dbc6157438dcc59994d0f36e
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Comment on lines +1 to +7
fileFormatVersion: 2
guid: 4cc7d058656d7264cb6bc89e63bba002
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Comment on lines +1 to +7
fileFormatVersion: 2
guid: 51ffbc8b2d9b7fc48babc786e29c1289
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

string expectedLink =
$"https://github.com/wallstop/DxMessaging/blob/master/docs/reference/analyzers.md#{expectedAnchor}";
$"https://github.com/Ambiguous-Interactive/DxMessaging/blob/master/docs/reference/analyzers.md#{expectedAnchor}";
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 148 out of 152 changed files in this pull request and generated 5 comments.

run: |
set -euo pipefail
mkdir -p .artifacts/release
pack_json="$(npm pack --json --provenance=false)"
Comment on lines +186 to +219
- name: Create or update GitHub Release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -euo pipefail
tag="${{ needs.verify-tag.outputs.tag }}"
if gh release view "${tag}" >/dev/null 2>&1; then
gh release upload "${tag}" \
.artifacts/release/*.tgz \
.artifacts/release/*.sha256 \
--clobber
gh release edit "${tag}" \
--title "${tag}" \
--notes-file .artifacts/release/release-notes.md \
--draft=false
else
gh release create "${tag}" \
.artifacts/release/*.tgz \
.artifacts/release/*.sha256 \
--title "${tag}" \
--notes-file .artifacts/release/release-notes.md \
--verify-tag
fi

- name: Publish to npm with provenance
run: |
set -euo pipefail
npx --yes --package=npm@^11.5.1 npm --version
package_file="$(find .artifacts/release -maxdepth 1 -name '*.tgz' -print -quit)"
if [ -z "${package_file}" ]; then
echo "::error::Packed npm package artifact is missing."
exit 1
fi
npx --yes --package=npm@^11.5.1 npm publish "${package_file}" --provenance --access public
Comment on lines +161 to +167
$content = Remove-SourceComments -Content (Get-Content $file.FullName -Raw)
if ($file.Extension -eq '.cs') {
$count += [regex]::Matches($content, '\[(?:UnityTest|Test|TestCase|TestCaseSource|Theory|Fact)\b').Count
} else {
$content = Remove-JavaScriptNonCode -Content (Get-Content $file.FullName -Raw)
$count += [regex]::Matches($content, '(?<![\w.])(?:test|it)\s*\(').Count
}
Comment on lines +67 to +91
function getRepositoryCandidateFiles(execFileSyncImpl = execFileSync) {
const trackedFiles = parseGitFileList(
execFileSyncImpl("git", ["ls-files"], {
cwd: repoRoot,
encoding: "utf8",
stdio: ["ignore", "pipe", "pipe"]
})
);
const stagedFiles = parseGitFileList(
execFileSyncImpl("git", ["diff", "--cached", "--name-only", "--diff-filter=ACMR"], {
cwd: repoRoot,
encoding: "utf8",
stdio: ["ignore", "pipe", "pipe"]
})
);
const untrackedFiles = parseGitFileList(
execFileSyncImpl("git", ["ls-files", "--others", "--exclude-standard"], {
cwd: repoRoot,
encoding: "utf8",
stdio: ["ignore", "pipe", "pipe"]
})
);

return [...new Set([...trackedFiles, ...stagedFiles, ...untrackedFiles])].sort();
}
Comment on lines +206 to +213
if (require.main === module) {
const args = process.argv.slice(2);

try {
const result = validateRepoIdentity({ check: args.includes("--check") });
if (!result.valid) {
process.exitCode = 1;
}
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 619e0bd. Configure here.

Comment thread .lychee.toml
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.

2 participants