Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
8b9a9bd
Updated/Added files in .github folder
Chris-Wolfgang Dec 17, 2025
e790712
Initial plan
Copilot Dec 18, 2025
25d6181
Initial plan
Copilot Dec 18, 2025
cc87eaf
Initial plan
Copilot Dec 18, 2025
ca99512
Initial plan
Copilot Dec 18, 2025
a16249f
Initial plan
Copilot Dec 18, 2025
87a7be5
Remove non-existent /benchmarks directory from dependabot config
Copilot Dec 18, 2025
b736793
Improve error handling in create-labels workflow
Copilot Dec 18, 2025
d7f011b
Remove unnecessary .NET SDK versions from pr.yaml workflow
Copilot Dec 18, 2025
31b9120
Add dependencies and dotnet labels to create-labels workflow
Copilot Dec 18, 2025
e524429
Merge pull request #28 from Chris-Wolfgang/copilot/sub-pr-27
Chris-Wolfgang Dec 18, 2025
5ec728b
Fix test results path pattern to match .NET test output structure
Copilot Dec 18, 2025
d4e67f5
Created benchmarks folder
Chris-Wolfgang Dec 18, 2025
df3a998
Merge branch 'benchmark-folder' into github-folder-changes
Chris-Wolfgang Dec 18, 2025
eeb2f08
Merge pull request #30 from Chris-Wolfgang/copilot/sub-pr-27-another-one
Chris-Wolfgang Dec 18, 2025
0143e2e
Merge pull request #31 from Chris-Wolfgang/copilot/sub-pr-27-yet-again
Chris-Wolfgang Dec 18, 2025
1e3023a
Merge pull request #32 from Chris-Wolfgang/copilot/sub-pr-27-one-more…
Chris-Wolfgang Dec 18, 2025
5353c56
Upgrade NuGet dependencies across all projects
Chris-Wolfgang Dec 18, 2025
19a1cb5
Fix TargetFrameworks: correct net5.0, add net10.0
Chris-Wolfgang Dec 18, 2025
6ff81c8
Expand CI: multi-OS, multi-.NET, and solution structure
Chris-Wolfgang Dec 18, 2025
5209105
Refactor tests and improve cancellation handling
Chris-Wolfgang Dec 18, 2025
4ef0de5
Update copyright in test project file for 2025
Chris-Wolfgang Dec 18, 2025
418ce9a
Update NuGet refs to be conditional by target framework
Chris-Wolfgang Dec 18, 2025
ef06450
Refactor ETL base classes for clarity and validation
Chris-Wolfgang Dec 18, 2025
2e1db28
Update CI for cross-platform .NET builds and test coverage
Chris-Wolfgang Dec 18, 2025
9571c37
Eliminated deploy.yml in favor of pr.yml and release.yml
Chris-Wolfgang Dec 18, 2025
0a56a98
Fix TargetFrameworks syntax and update supported targets
Chris-Wolfgang Dec 18, 2025
6984348
Improve DevSkim scan handling and reporting in workflow
Chris-Wolfgang Dec 18, 2025
6aa8693
Refactor Linux/macOS build steps in GitHub Actions
Chris-Wolfgang Dec 18, 2025
1ea6a64
Refactor CI build/test steps for efficiency and clarity
Chris-Wolfgang Dec 18, 2025
0444473
Fix build command syntax and encode semicolons in YAML
Chris-Wolfgang Dec 18, 2025
2bb11df
Fix target frameworks format in build script, add net10.0
Chris-Wolfgang Dec 18, 2025
12e1a60
Remove netstandard2.1 from CI build target frameworks
Chris-Wolfgang Dec 18, 2025
7cd92f9
Update build commands and target frameworks in pr.yaml
Chris-Wolfgang Dec 18, 2025
d186e55
Build each target framework individually in CI
Chris-Wolfgang Dec 18, 2025
68a5642
Remove net10.0 from Linux/macOS build target frameworks
Chris-Wolfgang Dec 18, 2025
b8c1e86
Refactor CI: build each target framework individually
Chris-Wolfgang Dec 18, 2025
9302cae
Rename test and coverage job step in CI workflow
Chris-Wolfgang Dec 18, 2025
b1e5b7e
Improve test/coverage job for cross-platform reliability
Chris-Wolfgang Dec 18, 2025
5c4f1c5
Add echo before Windows test run in CI workflow
Chris-Wolfgang Dec 18, 2025
3e1fd69
Improve CI robustness for tests and coverage reporting
Chris-Wolfgang Dec 18, 2025
f47afb7
Refactor CI: split test/coverage by OS, streamline steps
Chris-Wolfgang Dec 18, 2025
7b17229
Update Windows test script to use PowerShell syntax
Chris-Wolfgang Dec 18, 2025
7f4beb1
Rewrite coverage check step in pr.yaml to use PowerShell
Chris-Wolfgang Dec 18, 2025
28e278b
Show test exit code; remove ReportGenerator install
Chris-Wolfgang Dec 18, 2025
0e893a6
Improve Windows test workflow robustness in pr.yaml
Chris-Wolfgang Dec 18, 2025
e23c86f
Finalized. Previous version worked. This version is cleanup
Chris-Wolfgang Dec 18, 2025
ea6dd38
Initial plan
Copilot Dec 18, 2025
17182c2
Improve error handling for dependencies and dotnet labels
Copilot Dec 18, 2025
8340adb
Initial plan
Copilot Dec 18, 2025
b8a657c
Initial plan
Copilot Dec 18, 2025
739b097
Initial plan
Copilot Dec 18, 2025
aca6b2a
Fix release workflow permissions to allow GitHub releases
Copilot Dec 18, 2025
eb1d693
Merge pull request #34 from Chris-Wolfgang/copilot/sub-pr-27
Chris-Wolfgang Dec 18, 2025
bfb6324
Merge pull request #35 from Chris-Wolfgang/copilot/sub-pr-27-another-one
Chris-Wolfgang Dec 18, 2025
0da0fc6
Merge pull request #36 from Chris-Wolfgang/copilot/sub-pr-27-yet-again
Chris-Wolfgang Dec 18, 2025
0a405df
Create /benchmarks directory and restore dependabot config
Copilot Dec 18, 2025
4210005
Merge pull request #37 from Chris-Wolfgang/copilot/sub-pr-27-one-more…
Chris-Wolfgang Dec 19, 2025
ae0a411
Merge pull request #29 from Chris-Wolfgang/copilot/sub-pr-27-again
Chris-Wolfgang Dec 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# This CODEOWNERS file designates code owners for different parts of the repository.
# Update usernames or teams as appropriate for your project.

# Set the default owner for everything in the repository
* @Chris-Wolfgang

# Example: Assign a team or user to a specific directory
# /src/ @Chris-Wolfgang

# Example: Assign a different owner to documentation files
# /docs/ @Chris-Wolfgang

# Example: Assign an owner to GitHub Actions workflows
# /.github/workflows/ @Chris-Wolfgang

# Example: Assign an owner to the .github folder to protect the CODEOWNERS file
/.github/ @Chris-Wolfgang
79 changes: 79 additions & 0 deletions .github/ISSUE_TEMPLATE/BUG_REPORT.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: "🐞 Bug report"
description: "File a bug report to help us improve"
title: "[Bug]: "
labels: [bug, needs-triage]
assignees: []
body:
- type: markdown
attributes:
value: |
## Thanks for reporting a bug!

Please fill out the information below to help us resolve the issue as quickly as possible.

- type: textarea
id: description
attributes:
label: "Describe the bug"
description: "A clear and concise description of what the bug is."
placeholder: "Bug details go here..."
validations:
required: true

- type: textarea
id: steps-to-reproduce
attributes:
label: "Steps to reproduce"
description: "How can we reproduce the behavior?"
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true

- type: textarea
id: expected-behavior
attributes:
label: "Expected behavior"
description: "What did you expect to happen?"
placeholder: "It should..."
validations:
required: true

- type: textarea
id: actual-behavior
attributes:
label: "Actual behavior"
description: "What actually happened?"
placeholder: "Instead, it..."
validations:
required: true

- type: input
id: environment
attributes:
label: "Environment"
description: "Please provide information about your environment (OS, browser, version, etc.)"
placeholder: "e.g. Windows 11, Chrome 124.0.1"
validations:
required: false

- type: textarea
id: screenshots
attributes:
label: "Screenshots"
description: "If applicable, add screenshots to help explain your problem."
placeholder: "Drag & drop images or paste them here."
validations:
required: false

- type: textarea
id: additional-context
attributes:
label: "Additional context"
description: "Add any other context about the problem here."
placeholder: "Anything else?"
validations:
required: false
48 changes: 40 additions & 8 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,46 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
version: 2
updates:
- package-ecosystem: "nuget"
directory: "/" # Root - for solution-level dependencies
schedule:
interval: "weekly"
open-pull-requests-limit: 5
labels:
- "dependencies"
- "dotnet"
Comment on lines +8 to +10
Copy link

Copilot AI Dec 17, 2025

Choose a reason for hiding this comment

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

The Dependabot configuration references labels "dependencies" and "dotnet" that are not created by the create-labels.yaml workflow. The create-labels workflow only creates "dependabot - security" and "dependabot-dependencies" labels. Either update the create-labels workflow to include these labels, or ensure they are created manually, otherwise Dependabot PRs will fail to apply these labels.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

@copilot open a new pull request to apply changes based on this feedback


- package-ecosystem: "nuget"
directory: "/src"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
open-pull-requests-limit: 5
labels:
- "dependencies"
- "dotnet"

- package-ecosystem: "nuget"
directory: "/tests"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
labels:
- "dependencies"
- "dotnet"

- package-ecosystem: "nuget"
directory: "/benchmarks"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
labels:
- "dependencies"
- "dotnet"
Comment on lines +30 to +37
Copy link

Copilot AI Dec 17, 2025

Choose a reason for hiding this comment

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

The Dependabot configuration includes a "/benchmarks" directory that doesn't exist in the repository. This will cause Dependabot to fail when trying to scan that directory. Either remove this configuration entry or create the benchmarks directory if it's planned for future use.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

@copilot open a new pull request to apply changes based on this feedback


- package-ecosystem: "nuget"
directory: "/examples"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
labels:
- "dependencies"
- "dotnet"
40 changes: 40 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
## Description

<!-- Please include a summary of the change and which issue is fixed. Also include relevant motivation and context. List any dependencies that are required for this change. -->

Fixes/Complete # (issue)

## Type of change

Please delete options that are not relevant.

- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
- [ ] Refactor

## How Has This Been Tested?

<!-- Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. -->

- [ ] Test A
- [ ] Test B

## Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes

## Screenshots (if applicable)

<!-- Please add any screenshots or gifs to help reviewers understand your changes. -->

## Additional context

<!-- Add any other context about the pull request here. -->
86 changes: 86 additions & 0 deletions .github/workflows/create-labels.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Create Dependabot Security and Dependencies Labels
on:
workflow_dispatch:

jobs:
create-labels:
permissions:
issues: write
runs-on: ubuntu-latest
steps:
- name: Create "dependabot - security" label
uses: actions/github-script@v6
with:
script: |
try {
await github.rest.issues.createLabel({
owner: context.repo.owner,
repo: context.repo.repo,
name: "dependabot - security",
color: "b60205"
});
} catch (error) {
if (error.status === 422 && error.response?.data?.errors?.[0]?.code === 'already_exists') {
console.log('Label "dependabot - security" already exists, skipping creation');
} else {
console.error('Failed to create label "dependabot - security":', error.message);
throw error;
}
}
Comment on lines +22 to +29
Copy link

Copilot AI Dec 17, 2025

Choose a reason for hiding this comment

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

The error handling silently ignores all errors, which could mask real issues beyond label-already-exists scenarios. If the error is due to authentication problems, rate limiting, or API issues, the workflow will appear to succeed but won't actually create the labels. Consider checking the error type and only ignoring "already_exists" errors, or at least logging the error message for debugging purposes.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

@copilot Create a pull request for this suggested change

- name: Create "dependabot-dependencies" label
uses: actions/github-script@v6
with:
script: |
try {
await github.rest.issues.createLabel({
owner: context.repo.owner,
repo: context.repo.repo,
name: "dependabot-dependencies",
color: "d93f0b"
});
} catch (error) {
if (error.status === 422 && error.response?.data?.errors?.[0]?.code === 'already_exists') {
console.log('Label "dependabot-dependencies" already exists, skipping creation');
} else {
console.error('Failed to create label "dependabot-dependencies":', error.message);
throw error;
}
}
- name: Create "dependencies" label
uses: actions/github-script@v6
with:
script: |
try {
await github.rest.issues.createLabel({
owner: context.repo.owner,
repo: context.repo.repo,
name: "dependencies",
color: "0366d6"
});
} catch (error) {
if (error.status === 422 && error.response?.data?.errors?.[0]?.code === 'already_exists') {
console.log('Label "dependencies" already exists, skipping creation');
} else {
console.error('Failed to create label "dependencies":', error.message);
throw error;
}
}
- name: Create "dotnet" label
uses: actions/github-script@v6
with:
script: |
try {
await github.rest.issues.createLabel({
owner: context.repo.owner,
repo: context.repo.repo,
name: "dotnet",
color: "512bd4"
});
} catch (error) {
if (error.status === 422 && error.response?.data?.errors?.[0]?.code === 'already_exists') {
console.log('Label "dotnet" already exists, skipping creation');
} else {
console.error('Failed to create label "dotnet":', error.message);
throw error;
}
}
Comment thread
Chris-Wolfgang marked this conversation as resolved.
61 changes: 0 additions & 61 deletions .github/workflows/deploy.yml

This file was deleted.

54 changes: 54 additions & 0 deletions .github/workflows/docfx.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Deploy DocFX Pages

on:
push:
branches:
- main # Your primary branch

jobs:
build:
runs-on: ubuntu-latest

permissions:
contents: read # Allow read access for checkout
pages: write # Allow write access for Pages deployment
id-token: write # Allow writing of ID tokens for deployment

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0.x'

- name: Install DocFX
run: dotnet tool update docfx --global

- name: Build DocFx Metadata
run: docfx metadata
working-directory: docfx_project

- name: Build Docs
run: docfx build
working-directory: docfx_project

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: docfx_project/_site # The path to the folder to upload
Comment on lines +30 to +40
Copy link

Copilot AI Dec 17, 2025

Choose a reason for hiding this comment

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

The DocFX workflow references a "docfx_project" directory that doesn't exist in the repository. Lines 30-31 and 34-35 execute docfx commands with "working-directory: docfx_project", and line 40 uploads from "docfx_project/_site". This will cause the workflow to fail. Either create the docfx_project directory with proper DocFX configuration, or update the workflow to use the correct documentation directory path.

Copilot uses AI. Check for mistakes.

deploy:
needs: build
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
Loading
Loading