Skip to content

S⚠️ ◾ Accelerating Releases#726

Merged
muiriswoulfe merged 4 commits intomainfrom
muiriswoulfe/faster-releases
Feb 16, 2026
Merged

S⚠️ ◾ Accelerating Releases#726
muiriswoulfe merged 4 commits intomainfrom
muiriswoulfe/faster-releases

Conversation

@muiriswoulfe
Copy link
Member

@muiriswoulfe muiriswoulfe commented Feb 13, 2026

Summary

Reduces the release process from 3 phases to 2 and PR signoffs from 2 to 1 by automating licence notice generation within the existing PR validation pipeline, eliminating a dedicated manual phase.

What Changed

  • Licence generation automated: The ADO PR pipeline now detects, generates, and commits licence notices automatically (with signed commits via the GraphQL API). A forceLicenseGeneration parameter supports manual reruns.
  • PR comments: Warnings or errors during generation post a comment with build output and resolution steps.
  • Workflows renamed: release-phase-1release-initiate, release-phase-3release-publish, release-phase-2 removed.
  • Scripts consolidated: All PowerShell scripts moved to .github/workflow-scripts/. Deleted the git-setup-and-push and release-phase-1-internal composite actions.

Testing

Test Types

  • Unit tests
  • Manual tests

Other Test Details

Significant manual testing of the different combinations of builds and license states.

- Rename release workflows: phase-1 → initiate, phase-2 → publish.
- Move all PowerShell scripts to .github/workflow-scripts/.
- Add conditional license generation with forceLicenseGeneration parameter.
- Use hyphens-row detection for license truncation boundary.
- Create signed commits via GraphQL API.
- Add PR comments for license generation errors and warnings.
- Support manual pipeline runs with PR lookup fallback.
- Strip trailing whitespace from LICENSE.txt during generation.
- Add license generation error and warning comment templates.
@muiriswoulfe muiriswoulfe self-assigned this Feb 13, 2026
@muiriswoulfe muiriswoulfe requested review from a team and Copilot February 13, 2026 18:53
@muiriswoulfe muiriswoulfe added the enhancement New feature or request label Feb 13, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 13, 2026

PR Metrics

Thanks for keeping your pull request small.
⚠️ Consider adding additional tests.

Lines
Product Code 302
Test Code 157
Subtotal 459
Ignored Code 301
Total 760

Metrics computed by PR Metrics. Add it to your Azure DevOps and GitHub PRs!

@github-actions github-actions bot changed the title Accelerating Releases S⚠️ ◾ Accelerating Releases Feb 13, 2026
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 accelerates the release process by consolidating the 3-phase release workflow into a streamlined 2-phase model. The changes refactor release automation by moving license generation from a separate GitHub Actions workflow (release-phase-2) into the Azure DevOps PR pipeline, and by extracting workflow logic into reusable PowerShell scripts.

Changes:

  • Consolidated 3-phase release workflow into 2-phase: release-initiate.yml (formerly phase-1) creates PR with version/license/dependency updates, and release-publish.yml (formerly phase-3) builds/signs/publishes when trigger file changes
  • Added PowerShell scripts in .github/workflow-scripts/ for version updates, license management, change detection, and signed commits
  • Integrated automated license generation into Azure DevOps PR pipeline with Component Governance notice@0 task and GitHub API comment notifications

Reviewed changes

Copilot reviewed 20 out of 21 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
.github/workflows/release-initiate.yml New 2-phase release workflow that replaces phase-1, creates PR with version bumps and license truncation
.github/workflows/release-publish.yml Renamed from phase-3, builds/signs/publishes releases when trigger file changes
.github/workflows/release-phase-1.yml Deleted - replaced by release-initiate.yml
.github/workflows/release-phase-2.yml Deleted - license generation moved to Azure DevOps pipeline
.github/workflow-scripts/Update-Version.ps1 New script to update version numbers across all project files
.github/workflow-scripts/Update-Licenses.ps1 New script to truncate/check license file state (has critical bug)
.github/workflow-scripts/Test-LicensesResult.ps1 New script to validate license generation and post PR comments
.github/workflow-scripts/Test-Changes.ps1 New script to detect git changes for conditional workflow steps
.github/workflow-scripts/Push-SignedCommit.ps1 New script to commit license updates via GitHub GraphQL API with signing
.github/azure-devops/template.yml Added license generation steps with Component Governance integration
.github/azure-devops/pr.yml Added forceLicenseGeneration parameter
.github/workflows/support/release-publish-trigger.txt New trigger file replacing phase-3-trigger.txt (has wrong version)
.github/workflows/support/release-phase-3-trigger.txt Deleted - replaced by release-publish-trigger.txt
.github/workflows/support/release-phase-2-comment.md Deleted - replaced by new license generation templates
.github/workflows/support/license-generation-warning.md New template for license generation warnings
.github/workflows/support/license-generation-error.md New template for license generation errors
.github/workflows/build.yml Standardized on PowerShell shell, consolidated change detection logic, added CodeQL query suites
.github/actions/release-phase-1-internal/action.yml Deleted - logic moved to release-initiate.yml workflow
.github/actions/git-setup-and-push/action.yml Deleted - logic moved to release-initiate.yml workflow
docs/verification.md Updated workflow references from release-phase-3 to release-publish
.editorconfig Updated trigger file pattern to match new naming

- Eliminated the cron schedule for quarterly runs.
- Retained manual trigger option for flexibility.
- Deleted linkspector validation steps from build workflow.
- Simplified the workflow by removing redundant link checks.
Copilot AI review requested due to automatic review settings February 16, 2026 11:07
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

Copilot reviewed 21 out of 22 changed files in this pull request and generated no new comments.

@muiriswoulfe muiriswoulfe merged commit 38fd176 into main Feb 16, 2026
35 checks passed
@muiriswoulfe muiriswoulfe deleted the muiriswoulfe/faster-releases branch February 16, 2026 15:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants