Skip to content

Conversation

@Chizaruu
Copy link
Owner

No description provided.

Chizaruu and others added 22 commits October 18, 2025 14:59
Introduces a workflow to run tests and code quality checks on pull requests targeting the main and dev branches. The workflow builds and tests the extension and its tests, publishes results, and enforces build warnings as errors to maintain code quality.
Adds path filters and concurrency controls to PR and release workflows to reduce unnecessary runs. Implements NuGet package caching for faster builds, refactors build commands for minimal verbosity, and improves version extraction and update logic in the release workflow for better reliability and Windows compatibility.
Updated ExtractInterfaceCommand to use the package's JoinableTaskFactory for async execution and main thread switching. Changed the test CompleteFlow_AppendInterface_UpdatesClassAsync from async Task to void and removed unnecessary async/await code.
Added PowerShell steps to list build output and dynamically locate the test DLL before running tests. This makes the workflow more robust to changes in build output paths and improves debugging when the test DLL is missing.
Specified required permissions in pr-tests.yml and release.yml to improve security and clarify access needs for workflow actions.
Grants 'checks: write' permission in the PR tests workflow to enable publishing test results as check runs.
Add GitHub Actions workflow for PR tests
Removes debug output listing from PR test workflow and improves version extraction and update logic in the release workflow to target only the Identity element in the vsixmanifest. These changes streamline CI output and make version handling more robust.
Added pattern to match branches containing 'testing' in their name, enabling the release workflow to run on those branches as well as main and dev.
The release workflow will no longer run on branches containing 'testing' in their name. This change restricts workflow execution to only 'main' and 'dev' branches.
CI builds now treat warnings as errors for both extension and test projects to improve code quality. The release workflow now requires environment approval based on branch, distinguishing between production and development deployments.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Abdul-Kadir Coskun <59434446+Chizaruu@users.noreply.github.com>
Sets the environment URL in the release workflow to point to the repository's releases page for better visibility and tracking.
Updated sed patterns in the release workflow to more accurately match the Identity element's Version attribute in the VSIX manifest. This ensures only the correct attribute is extracted and updated, improving reliability of version management.
Replaces the bash/sed-based auto-increment logic in the release workflow with PowerShell, using XML parsing for more robust version extraction and update. This improves Windows compatibility and reliability when updating the VSIX manifest version.
Added pattern to match branches containing 'testing' in their name, enabling the release workflow to run on those branches as well as main and dev.
Adds explicit checks for tag format when incrementing prerelease and dev version numbers. If the tag cannot be parsed, a warning is logged and numbering starts from 0, improving robustness and error visibility in the release workflow.
The release workflow will no longer be triggered by branches containing 'testing' in their name. This change limits workflow runs to 'main' and 'dev' branches only.
Updated the PR tests workflow to ignore changes in the release workflow, README.md, and docs directory, preventing unnecessary test runs for documentation and release config changes.
Copilot AI review requested due to automatic review settings October 18, 2025 05:42
Copy link
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 updates the GitHub Actions workflows and improves the async handling in the Visual Studio extension. The key changes involve converting the release workflow from bash to PowerShell, adding a new PR testing workflow, and refactoring async execution patterns.

Key changes:

  • Converted the release workflow's version incrementing logic from bash to PowerShell for better Windows compatibility
  • Added a comprehensive PR testing workflow with test execution and code quality checks
  • Updated async execution to use the package's JoinableTaskFactory instead of ThreadHelper

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
InterfaceExtractor.Tests/Integration/IntegrationTests.cs Removed async test setup code, converting test method from async to synchronous
InterfaceExtractor.Extension/Commands/ExtractInterfaceCommand.cs Changed from ThreadHelper to package's JoinableTaskFactory for async execution
.github/workflows/release.yml Converted bash script to PowerShell, added caching, concurrency controls, and environment-based approvals
.github/workflows/pr-tests.yml New workflow file for running tests and code quality checks on pull requests

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@github-actions
Copy link
Contributor

Test Results

56 tests   56 ✅  15s ⏱️
 1 suites   0 💤
 1 files     0 ❌

Results for commit cdd59da.

@Chizaruu Chizaruu merged commit 0e1b23f into main Oct 18, 2025
10 checks passed
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