Skip to content

Comments

Replace Octokit Release API with GraphQL queries using ReleaseNode#81

Merged
Malcolmnixon merged 7 commits intomainfrom
copilot/use-graphql-for-releases
Feb 17, 2026
Merged

Replace Octokit Release API with GraphQL queries using ReleaseNode#81
Malcolmnixon merged 7 commits intomainfrom
copilot/use-graphql-for-releases

Conversation

Copy link
Contributor

Copilot AI commented Feb 17, 2026

Pull Request

Description

Replaces client.Repository.Release.GetAll(owner, repo) REST API call with GraphQL implementation, following the established pattern for commits and issues queries. Completely removes dependency on Octokit's Release type by using the GraphQL ReleaseNode type directly throughout the application.

Implementation

  • GraphQL Types (GitHubGraphQLTypes.cs): Added GetReleasesResponse, ReleaseRepositoryData, ReleasesConnectionData, and ReleaseNode records with PageInfo for pagination
  • GraphQL Client (GitHubGraphQLClient.cs): Implemented GetReleasesAsync(owner, repo) that returns List<ReleaseNode> directly with automatic pagination (100 items/page) and CREATED_AT DESC ordering
  • Direct Type Usage (GitHubRepoConnector.cs): Uses ReleaseNode directly in GitHubData and LookupData without intermediate conversions. The GetAllReleasesAsync helper simply returns the GraphQL results.
  • Tests: Split into three focused test files organized by functionality:
    • GitHubGraphQLClientFindIssueIdsTests.cs - 8 tests for FindIssueIdsLinkedToPullRequestAsync
    • GitHubGraphQLClientGetCommitsTests.cs - 8 tests for GetCommitsAsync
    • GitHubGraphQLClientGetReleasesTests.cs - 8 tests for GetReleasesAsync (new)
    • Each file includes its own helper methods and pagination mock handlers

Benefits

  • Completely removes dependency on Octokit Release type
  • No intermediate conversions - GraphQL response types used directly
  • Cleaner architecture with fewer custom types
  • Follows the same pattern as other GraphQL types in the codebase
  • Improved test organization with separate files by functionality for better maintainability

Type of Change

  • New feature (non-breaking change which adds functionality)
  • Code quality improvement

Related Issues

Implements feature request to migrate from REST to GraphQL for releases.

Pre-Submission Checklist

Build and Test

  • Code builds successfully: dotnet build --configuration Release
  • All tests pass: dotnet test --configuration Release
  • Code produces zero warnings

Code Quality

  • Code formatting is correct: dotnet format --verify-no-changes
  • New code has appropriate XML documentation comments
  • Static analyzer warnings have been addressed

Quality Checks

  • Spell checker passes: cspell "**/*.{md,cs}"
  • Markdown linter passes: markdownlint "**/*.md"
  • YAML linter passes: yamllint '**/*.{yml,yaml}'

Testing

  • Added unit tests for new functionality
  • Updated existing tests if behavior changed
  • All tests follow the AAA (Arrange, Act, Assert) pattern
  • Test coverage is maintained or improved

Documentation

  • Updated README.md (if applicable)
  • Updated ARCHITECTURE.md (if applicable)
  • Added code examples for new features (if applicable)
  • Updated requirements.yaml (if applicable)

Additional Notes

  • No additional dependencies added
  • CodeQL security scan: 0 alerts
  • Maintains backward compatibility with existing functionality
  • All 24 GraphQL-related tests pass (8 new GetReleases tests, 16 existing tests for FindIssueIds and GetCommits)
  • Simplified architecture eliminates unnecessary type conversions (ReleaseNode is used directly instead of converting to strings and then to a custom Release type)
  • Improved test organization: Split the large 1122-line test file into three focused files (GitHubGraphQLClientFindIssueIdsTests.cs, GitHubGraphQLClientGetCommitsTests.cs, GitHubGraphQLClientGetReleasesTests.cs) for better maintainability and navigation
Original prompt

This section details on the original issue you should resolve

<issue_title>[Feature]: Use GraphQL to query GitHub Releases</issue_title>
<issue_description>### Problem Statement

The Octokit client.Repository.Release.GetAll(owner, repo) should be replaced with GraphQL queries.

Proposed Solution

Replace the client.Repository.Releaee.GetAll(owner, repo) with a call to a new GitHubGraphQLClient method to get repo releases, and add the appropriate GraphQL types in GitHubGraphQLTypes.cs

Remember to implement automatic paging just like the other methods of GitHubGraphQLCLient.

Alternatives Considered

No response

Usage Examples

Benefits

Replace more Octokit APIs with GraphQL.

Priority

Medium - Would improve my workflow

Willingness to Contribute

Yes, I can submit a pull request

Additional Context

No response

Checklist

  • I have searched existing issues to ensure this is not a duplicate
  • I have provided a clear description of the feature
  • I have explained why this feature would be useful</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 3 commits February 17, 2026 03:59
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copilot AI changed the title [WIP] Replace Octokit with GraphQL to query GitHub releases Replace Octokit Release API with GraphQL queries Feb 17, 2026
Copilot AI requested a review from Malcolmnixon February 17, 2026 04:10
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 17, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/testhost.dll --port 41077 --endpoint 127.0.0.1:041077 --role client --parentprocessid 4580 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/testhost.dll --port 46313 --endpoint 127.0.0.1:046313 --role client --parentprocessid 4574 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/testhost.dll --port 34511 --endpoint 127.0.0.1:034511 --role client --parentprocessid 4587 --telemetryoptedin false (http block)
  • https://api.github.com/repos/demaconsulting/BuildMark/issues
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/testhost.dll --port 41077 --endpoint 127.0.0.1:041077 --role client --parentprocessid 4580 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/testhost.dll --port 46313 --endpoint 127.0.0.1:046313 --role client --parentprocessid 4574 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/testhost.dll --port 34511 --endpoint 127.0.0.1:034511 --role client --parentprocessid 4587 --telemetryoptedin false (http block)
  • https://api.github.com/repos/demaconsulting/BuildMark/pulls
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/testhost.dll --port 41077 --endpoint 127.0.0.1:041077 --role client --parentprocessid 4580 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/testhost.dll --port 46313 --endpoint 127.0.0.1:046313 --role client --parentprocessid 4574 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/testhost.dll --port 34511 --endpoint 127.0.0.1:034511 --role client --parentprocessid 4587 --telemetryoptedin false (http block)
  • https://api.github.com/repos/demaconsulting/BuildMark/tags
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/testhost.dll --port 41077 --endpoint 127.0.0.1:041077 --role client --parentprocessid 4580 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/testhost.dll --port 46313 --endpoint 127.0.0.1:046313 --role client --parentprocessid 4574 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/testhost.dll --port 34511 --endpoint 127.0.0.1:034511 --role client --parentprocessid 4587 --telemetryoptedin false (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title Replace Octokit Release API with GraphQL queries Replace Octokit Release API with GraphQL queries and custom Release type Feb 17, 2026
Copilot AI requested a review from Malcolmnixon February 17, 2026 11:54
/// <param name="owner">Repository owner.</param>
/// <param name="repo">Repository name.</param>
/// <returns>List of release tag names.</returns>
public async Task<List<string>> GetReleasesAsync(
Copy link
Contributor

Choose a reason for hiding this comment

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

Why not have this return a list of ReleaseNode records?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed in e2a22ca. Changed GetReleasesAsync to return List<ReleaseNode> directly, eliminating the intermediate string conversion.

/// <param name="owner">Repository owner.</param>
/// <param name="repo">Repository name.</param>
/// <returns>List of all releases.</returns>
private static async Task<IReadOnlyList<Release>> GetAllReleasesAsync(
Copy link
Contributor

Choose a reason for hiding this comment

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

It seems there are two data types introduced - ReleaseNode and Release, and the code goes from ReleaseNode to string, to release. Don't add extra types and extra conversions.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed in e2a22ca. Removed the custom Release type and the extra conversions. Now GetReleasesAsync returns List<ReleaseNode> directly, and ReleaseNode is used throughout the application (in GitHubData, LookupData, etc.). The flow is now: GraphQL response → ReleaseNode → used directly.

…conversions

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copilot AI changed the title Replace Octokit Release API with GraphQL queries and custom Release type Replace Octokit Release API with GraphQL queries using ReleaseNode Feb 17, 2026
Copilot AI requested a review from Malcolmnixon February 17, 2026 12:26
Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 17, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/testhost.dll --port 44071 --endpoint 127.0.0.1:044071 --role client --parentprocessid 4642 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/testhost.dll --port 40553 --endpoint 127.0.0.1:040553 --role client --parentprocessid 4656 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/testhost.dll --port 36693 --endpoint 127.0.0.1:036693 --role client --parentprocessid 4649 --telemetryoptedin false (http block)
  • https://api.github.com/repos/demaconsulting/BuildMark/issues
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/testhost.dll --port 44071 --endpoint 127.0.0.1:044071 --role client --parentprocessid 4642 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/testhost.dll --port 40553 --endpoint 127.0.0.1:040553 --role client --parentprocessid 4656 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/testhost.dll --port 36693 --endpoint 127.0.0.1:036693 --role client --parentprocessid 4649 --telemetryoptedin false (http block)
  • https://api.github.com/repos/demaconsulting/BuildMark/pulls
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/testhost.dll --port 44071 --endpoint 127.0.0.1:044071 --role client --parentprocessid 4642 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/testhost.dll --port 40553 --endpoint 127.0.0.1:040553 --role client --parentprocessid 4656 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/testhost.dll --port 36693 --endpoint 127.0.0.1:036693 --role client --parentprocessid 4649 --telemetryoptedin false (http block)
  • https://api.github.com/repos/demaconsulting/BuildMark/tags
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net10.0/testhost.dll --port 44071 --endpoint 127.0.0.1:044071 --role client --parentprocessid 4642 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net9.0/testhost.dll --port 40553 --endpoint 127.0.0.1:040553 --role client --parentprocessid 4656 --telemetryoptedin false (http block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/DemaConsulting.BuildMark.Tests.deps.json /home/REDACTED/work/BuildMark/BuildMark/test/DemaConsulting.BuildMark.Tests/bin/Debug/net8.0/testhost.dll --port 36693 --endpoint 127.0.0.1:036693 --role client --parentprocessid 4649 --telemetryoptedin false (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@Malcolmnixon Malcolmnixon marked this pull request as ready for review February 17, 2026 13:50
@Malcolmnixon Malcolmnixon merged commit af0f6fa into main Feb 17, 2026
11 checks passed
@Malcolmnixon Malcolmnixon deleted the copilot/use-graphql-for-releases branch February 17, 2026 13:51
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.

[Feature]: Use GraphQL to query GitHub Releases

2 participants