Skip to content

Updated/Added files in .github folder#27

Closed
Chris-Wolfgang wants to merge 59 commits intomainfrom
github-folder-changes
Closed

Updated/Added files in .github folder#27
Chris-Wolfgang wants to merge 59 commits intomainfrom
github-folder-changes

Conversation

@Chris-Wolfgang
Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings December 17, 2025 03:23
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 pull request adds and updates GitHub configuration files to establish project governance, automation workflows, and community standards. However, the PR contains several critical issues that will cause workflow failures and incorrect documentation.

Key Changes:

  • Added community health files (CODE_OF_CONDUCT.md, pull request template, bug report template)
  • Created CI/CD workflows for pull requests, releases, DocFX documentation, and label management
  • Enhanced Dependabot configuration to cover multiple project directories
  • Moved CODEOWNERS from root to .github/ directory
  • Added copilot instructions file

Critical Issues Identified:

  1. Wrong Project Context: The copilot-instructions.md file describes a completely different project (DbContextBuilder) instead of the actual ETL Abstractions project
  2. Non-existent Projects: The release.yaml workflow attempts to pack four DbContextBuilder projects that don't exist in this repository
  3. Missing Directories: DocFX workflow references a non-existent "docfx_project" directory, and Dependabot configuration includes a non-existent "/benchmarks" directory
  4. Cross-platform Issues: The release workflow uses Unix 'find' command on Windows/macOS runners which will fail

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 17 comments.

Show a summary per file
File Description
CODE_OF_CONDUCT.md Adds Contributor Covenant Code of Conduct v2.0 but missing enforcement contact information
CODEOWNERS Removes old root-level CODEOWNERS file (being moved to .github/)
.github/CODEOWNERS Creates new CODEOWNERS in .github/ directory with expanded documentation
.github/workflows/release.yaml Adds multi-platform release workflow but references wrong projects and has cross-platform compatibility issues
.github/workflows/pr.yaml Adds PR validation workflow with build, test, coverage, and security scanning
.github/workflows/docfx.yaml Adds DocFX documentation deployment workflow but references non-existent directory
.github/workflows/create-labels.yaml Adds workflow to create Dependabot labels with overly broad error handling
.github/pull_request_template.md Adds standardized PR template with checklist
.github/dependabot.yml Expands Dependabot to monitor multiple directories and adds labels, but includes non-existent benchmarks directory
.github/copilot-instructions.md Adds copilot instructions but for wrong project (DbContextBuilder instead of ETL Abstractions)
.github/ISSUE_TEMPLATE/BUG_REPORT.yaml Adds structured bug report template

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/pr.yaml Outdated
@@ -0,0 +1,111 @@
# This workflow runs all branches when a pull request is created.
# If security settings have been properly configured, any branch that fails this workflow will be blocked from being merged into main and possibly other common branches link develop depending your specific settings
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 comment contains a typo: "link" should be "like" in the phrase "other common branches link develop".

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/pr.yaml
Comment on lines +27 to +32
dotnet-version: |
5.0.x
6.0.x
7.0.x
8.0.x
9.0.x
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 workflow installs .NET 5.0.x, 6.0.x, and 7.0.x which are not used by this project. According to the project file (Wolfgang.Etl.Abstractions.csproj), the project targets net462, net472, net48, net481, netstandard2.0, netstandard2.1, net8.0, and net9.0. Only .NET 8.0.x and 9.0.x SDKs are needed for building these target frameworks. Installing unnecessary SDK versions increases build time and resource usage.

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

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 Are they needed to run the test projects?

Comment thread .github/dependabot.yml
Comment on lines +30 to +37
- package-ecosystem: "nuget"
directory: "/benchmarks"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
labels:
- "dependencies"
- "dotnet"
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

Comment thread CODE_OF_CONDUCT.md

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
.
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 enforcement contact information is missing. Line 67-68 indicates that incidents should be reported to "community leaders responsible for enforcement at ." but no email address or contact method is provided. Please add a valid contact email address or other reporting mechanism.

Copilot uses AI. Check for mistakes.
Comment on lines +30 to +40
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
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.
Comment thread .github/workflows/release.yaml Outdated
Comment on lines +8 to +9
permissions:
contents: read
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 release workflow has insufficient permissions to create a GitHub release. The workflow is triggered on version tags (v*..) and publishes to NuGet, but it only has "contents: read" permission. To create a GitHub release or update release notes, the workflow needs "contents: write" permission. Consider adding this permission if you plan to create GitHub releases as part of the release process.

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 PR for suggested fix

Comment thread .github/workflows/pr.yaml Outdated
run: dotnet tool install --global Microsoft.CST.DevSkim.CLI

- name: Run DevSkim Security Scan (Save output)
run: devskim analyze --source-code . --file-format text -E --ignore-rule-ids DS176209 --ignore-globs "**/api/**,**/CoverageReport/**"
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 DevSkim scan command doesn't specify an output file, but line 103 attempts to display the contents of "devskim-results.txt" which won't exist. Line 97 should include "--output-file devskim-results.txt" or a similar flag to save the results to a file, or the display step should be updated to show the actual output from the scan.

Copilot uses AI. Check for mistakes.
Comment on lines +22 to +24
} catch (error) {
// Ignore if label already exists
}
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

Comment on lines +41 to +44
find ./tests -type f -name '*Test*.csproj' | while read proj; do
echo "Running tests for $proj"
dotnet test "$proj" --no-build --configuration Release
done
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 'find' command used here will fail on Windows runners. The release workflow runs on windows-latest (line 17), but line 41 uses the Unix 'find' command which doesn't exist in Windows CMD/PowerShell by default. Even though line 39 specifies 'shell: bash', Windows GitHub runners' bash environment may not have proper support for the find command against Windows paths. Consider using PowerShell's Get-ChildItem for Windows compatibility, or use a conditional approach based on the OS.

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/release.yaml Outdated
uses: actions/upload-artifact@v4
with:
name: test-results-${{ matrix.os }}
path: '**/TestResults*.trx'
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 test results path pattern appears incorrect. Line 51 uses the pattern '/TestResults*.trx', but the standard .NET test output format uses a directory structure like 'TestResults/[guid]/[framework]/[test-results-file].trx'. The pattern should likely be '/TestResults//*.trx' or 'TestResults//*.trx' to properly capture test result files in subdirectories.

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

Copy link
Copy Markdown
Contributor

Copilot AI commented Dec 18, 2025

@Chris-Wolfgang I've opened a new pull request, #28, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
Contributor

Copilot AI commented Dec 18, 2025

@Chris-Wolfgang I've opened a new pull request, #29, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
Contributor

Copilot AI commented Dec 18, 2025

@Chris-Wolfgang I've opened a new pull request, #30, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
Contributor

Copilot AI commented Dec 18, 2025

@Chris-Wolfgang I've opened a new pull request, #31, to work on those changes. Once the pull request is ready, I'll request review from you.

Repository owner deleted a comment from Copilot AI Dec 18, 2025
Copy link
Copy Markdown
Contributor

Copilot AI commented Dec 18, 2025

@Chris-Wolfgang I've opened a new pull request, #32, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 10 commits December 18, 2025 00:27
Co-authored-by: Chris-Wolfgang <210299580+Chris-Wolfgang@users.noreply.github.com>
- Check error status and only ignore 'already_exists' errors (422)
- Log error messages for authentication, rate limiting, and API issues
- Re-throw non-already-exists errors to fail the workflow properly

Co-authored-by: Chris-Wolfgang <210299580+Chris-Wolfgang@users.noreply.github.com>
Co-authored-by: Chris-Wolfgang <210299580+Chris-Wolfgang@users.noreply.github.com>
Co-authored-by: Chris-Wolfgang <210299580+Chris-Wolfgang@users.noreply.github.com>
Remove unnecessary .NET SDK versions from PR workflow
Co-authored-by: Chris-Wolfgang <210299580+Chris-Wolfgang@users.noreply.github.com>
Improve error handling in create-labels workflow
Add missing Dependabot labels to create-labels workflow
Chris-Wolfgang and others added 9 commits December 18, 2025 07:42
Improves logging in the GitHub Actions workflow by adding an echo statement before running tests on Windows, making it clearer when tests for all frameworks are being executed.
- Allow test failures without stopping workflow (continue-on-error)
- Increase test output verbosity for better diagnostics
- Always check and print TestResults directory contents after tests
- Ensure coverage report steps run regardless of test outcome
- Add extra debug output and redundancy to coverage report generation
- Simplify Linux/macOS test to only run .NET 8.0
- Improves CI reliability and troubleshooting for PRs
Refactored pr.yaml to separate test and coverage steps by OS: Linux/macOS now run tests without coverage, while Windows runs tests with coverage collection and reporting. Coverage report generation, threshold checks, and artifact uploads are now Windows-only. Simplified DevSkim security scan steps and clarified artifact naming. These changes improve workflow clarity and efficiency.
Switched the test and coverage script in pr.yaml from bash to PowerShell syntax for Windows runners. This change uses backticks for line continuation and Write-Host for output, ensuring compatibility with the default Windows shell in GitHub Actions.
Replaced Bash script with PowerShell in the "Check Coverage Thresholds - Windows Only" workflow step. The new script reads and parses CoverageReport/Summary.txt, checks each module's coverage percentage, and fails if any are below 80%. Updated error and status messages to use Write-Host and changed the shell to pwsh.
Added output of test execution exit code after tests run. Removed the step that installs dotnet-reportgenerator-globaltool on Windows runners from the workflow.
Refactor test and coverage steps to be more fault-tolerant:
- Parse .trx files to detect actual test failures, failing the workflow only if tests fail, not just on nonzero exit codes.
- Run ReportGenerator and coverage checks conditionally and with continue-on-error, printing warnings instead of failing for missing coverage files.
- Only enforce coverage thresholds if the summary file exists.
These changes ensure the workflow fails only for real test failures, not for transient or non-critical coverage/reporting issues.
Refactor PR workflow for clarity and robustness

Significantly restructured the PR workflow YAML for improved readability, maintainability, and reliability. Enhanced documentation and comments, clarified separation of steps for Linux/macOS and Windows, and made build/test matrix logic explicit. Improved test execution, coverage collection, and threshold checking, with clearer output and error handling. Refined DevSkim security scanning and artifact uploads. Overall, the workflow is now more robust, easier to understand, and provides better CI feedback.
Copy link
Copy Markdown
Contributor

Copilot AI commented Dec 18, 2025

@Chris-Wolfgang I've opened a new pull request, #34, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 2 commits December 18, 2025 21:46
Co-authored-by: Chris-Wolfgang <210299580+Chris-Wolfgang@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented Dec 18, 2025

@Chris-Wolfgang I've opened a new pull request, #35, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
Contributor

Copilot AI commented Dec 18, 2025

@Chris-Wolfgang I've opened a new pull request, #36, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
Contributor

Copilot AI commented Dec 18, 2025

@Chris-Wolfgang I've opened a new pull request, #37, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 7 commits December 18, 2025 21:53
Co-authored-by: Chris-Wolfgang <210299580+Chris-Wolfgang@users.noreply.github.com>
Improve error handling in create-labels workflow
Clarify .NET SDK requirements for test project target frameworks
Grant contents:write permission to release workflow
Co-authored-by: Chris-Wolfgang <210299580+Chris-Wolfgang@users.noreply.github.com>
…-time

Clarify .NET SDK requirements for test execution
Create /benchmarks directory and restore dependabot configuration
@Chris-Wolfgang Chris-Wolfgang deleted the github-folder-changes branch December 19, 2025 03:34
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.

3 participants