Conversation
- Updated .gitignore to exclude coverage report files. - Configured GitHub Actions to enforce a coverage threshold of 80%. - Added steps to run tests with coverage, generate a coverage report, and upload it as an artifact. - Updated DAQiFi.Core.Tests.csproj to enable coverage collection and specify output format. This improves the visibility of test coverage and ensures quality standards are met.
- Added push trigger for main branch to the GitHub Actions workflow. - Updated upload-artifact action to a specific version (v4) for better stability. These changes improve the CI/CD process by ensuring coverage reports are generated on both pull requests and direct pushes to the main branch.
- Changed the upload-artifact action from a specific commit hash to the stable version tag (v4) for better clarity and maintainability. This minor update enhances the workflow by ensuring the action is referenced in a more standard way.
- Set working directory for all relevant steps to streamline the build and test process. - Updated paths for restoring dependencies, building, testing, and generating coverage reports to ensure they point to the correct directory. These changes enhance the clarity and efficiency of the CI/CD pipeline, ensuring that all operations are executed in the appropriate context.
- Adjusted paths for the coverage report to ensure they are correctly pointing to the DAQiFi.Core directory. - Streamlined the step for generating the coverage report by removing redundant working-directory specification. These changes improve the accuracy of the coverage report generation process in the CI/CD pipeline.
- Removed specific working-directory specifications for steps, simplifying the workflow. - Updated coverage report paths to be more generic, enhancing flexibility and maintainability. These changes streamline the CI/CD process and improve the accuracy of coverage report generation.
- Added a step to list files in the DAQiFi.Core directory for better visibility during CI runs. - Specified project paths for restoring dependencies, building, and testing to ensure operations are executed on the correct project files. These changes enhance the clarity of the workflow and ensure that the CI/CD process is accurately targeting the intended project components.
- Renamed the step for listing files to "List directory structure" and changed the command to show the full directory structure for better visibility. - Removed specific project paths from the restore, build, and test commands to streamline the workflow and reduce redundancy. These changes enhance the clarity and efficiency of the CI/CD process by simplifying commands and improving output visibility.
…d coverage reporting - Removed the environment variable for coverage threshold and simplified the setup for .NET. - Added a step to create a symbolic link to handle case sensitivity issues on Linux. - Consolidated build and test steps into a single step for clarity and efficiency. - Updated coverage report generation to streamline the process. These changes enhance the workflow's robustness and ensure accurate coverage reporting while addressing case sensitivity in the project structure.
- Introduced a new GitHub Actions workflow for continuous integration. - Configured steps for checking out the code, setting up .NET, restoring dependencies, building the project, and running tests. - This setup ensures automated testing and builds on pull requests to the main branch, enhancing the reliability of the development process.
- Deleted the existing GitHub Actions workflow for PR validation. - This change may be part of a transition to a new CI/CD strategy or a simplification of the current setup.
- Renamed project and namespace references from "DAQiFi" to "Daqifi" for consistency across the solution. - Updated project files and references to reflect the new casing, ensuring uniformity in naming conventions. These changes enhance clarity and maintainability throughout the codebase.
- Updated the restore, build, and test commands in the CI workflow to explicitly target the Daqifi.Core.sln solution file. - This change ensures that operations are performed on the correct project, enhancing clarity and reducing potential errors during the CI process.
- Updated project names from "DAQiFi.Core" and "DAQiFi.Core.Tests" to "Daqifi.Core" and "Daqifi.Core.Tests" respectively. - This change aligns with previous casing standardization efforts, enhancing clarity and maintainability across the solution.
- Updated the CI workflow to use the correct casing for the solution file, changing references from "DAQiFi.Core.sln" to "Daqifi.Core.sln". - This aligns with previous casing standardization efforts and ensures consistency across the CI process.
- Changed project names in the solution file from "DAQifi.Core" and "DAQifi.Core.Tests" to "Daqifi.Core" and "Daqifi.Core.Tests" for consistency. - This aligns with ongoing efforts to standardize casing across the codebase, improving clarity and maintainability.
- Removed the debug step that listed directory contents in the CI workflow. This helps streamline the workflow and focuses on essential steps for the build process.
tylerkron
added a commit
that referenced
this pull request
Oct 17, 2025
…imeout behavior ## Changes ### Concurrency Protection (Importance: 8/10) - Added `SemaphoreSlim` to all three device finders (WiFi, Serial, HID) - Prevents race conditions when multiple threads call `DiscoverAsync()` simultaneously - Ensures only one discovery operation runs at a time per finder instance - Added proper disposal of semaphore in `Dispose()` methods ### Timeout Behavior Fix (Importance: 6/10) - Fixed `WiFiDeviceFinder.DiscoverAsync(CancellationToken)` to use `Timeout.InfiniteTimeSpan` - Previously hardcoded 5-second timeout, now properly respects cancellation token only - Consolidated timeout logic in private `DiscoverAsync(TimeSpan, CancellationToken)` method - Added conditional timeout application: only calls `CancelAfter()` when timeout is not infinite ## Testing - All 23 tests passing on .NET 8.0 and .NET 9.0 - Verified builds successfully ## Qodo PR Review - ✅ Suggestion #1: Add SemaphoreSlim (importance 8/10) - ✅ Suggestion #2: Fix timeout behavior (importance 6/10) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
11 tasks
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.
limited implementation to get the project setup