Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 15, 2025

Description

Implements comprehensive release automation based on docs/infra/automation-plan.md, reducing manual release work from ~4 hours to ~30 minutes while eliminating version synchronization errors across repositories.

Workflows Added

  • release.yml - Tag-triggered draft release creation with auto-generated notes
  • release-coordinator.yml - Orchestrates all release tasks with selective execution
  • post-release-version-bump.yml - Creates PR to update PackageValidationBaselineVersion
  • update-samples.yml - Creates PR to sync aspire-samples package references
  • update-docker.yml - Creates PR to update dotnet-docker dashboard image refs

Scripts Added

  • bump-baseline-version.ps1 - Adds/updates PackageValidationBaselineVersion in eng/Versions.props
  • update-sample-versions.ps1 - Updates Aspire.* package references in .csproj files (preserves non-Aspire packages)

Azure Pipelines Modified

Added publish_vscode_extension stage to eng/pipelines/azure-pipelines.yml:

  • Publishes to VS Code Marketplace on release branches only
  • Requires VSCE_PAT secret in Azure DevOps variable group

Usage

Primary method via coordinator:

# Actions → Release Coordinator → Run workflow
# Input: version (e.g., 13.1.0)
# Select: tasks to execute (tag, samples, docker, baseline, checklist)

Tag-based release:

git tag v13.1.0 && git push origin v13.1.0
# Auto-triggers release.yml → creates draft with notes

Prerequisites

GitHub Secrets:

  • ASPIRE_BOT_APP_ID - GitHub App ID for cross-repo PRs
  • ASPIRE_BOT_PRIVATE_KEY - GitHub App private key

Azure DevOps:

  • VSCE_PAT - VS Code Marketplace token

Architecture

Release Coordinator
├── Create Tag → Triggers release.yml (draft + notes)
├── Update Samples → Creates PR to aspire-samples
├── Update Docker → Creates PR to dotnet-docker
├── Bump Baseline → Creates PR to main
└── Create Checklist → Issue for manual tasks

Manual tasks remain: blog posts, compliance, validation coordination, marketing.

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No (infrastructure automation - scripts tested manually with validation scenarios)
  • Did you add public API?
    • Yes
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes (cross-repo updates use GitHub App auth, secrets in GitHub/Azure DevOps, workflows restricted to repository_owner == 'dotnet')
        • No
    • No
  • Does the change require an update in our Aspire docs?
    • Yes
    • No (internal release automation tooling)
Original prompt

Propose the automation plan

Created from VS Code.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 4 commits December 15, 2025 21:33
- Add GitHub Release workflow (release.yml) triggered on version tags
- Add post-release version bump workflow and script
- Add cross-repo update workflows for aspire-samples and dotnet-docker
- Add release coordinator workflow for orchestrating release process
- Add release checklist issue template
- Add VS Code extension publishing stage to Azure Pipelines

Co-authored-by: davidfowl <[email protected]>
- Update automation-plan.md with implementation status and usage instructions
- Add comprehensive release-automation-README.md for scripts
- Make PowerShell scripts executable
- Validate all workflow YAML syntax

Co-authored-by: davidfowl <[email protected]>
- Wrap Get-ChildItem in @() to ensure array type
- Prevents Count property error when single file found
- Add comprehensive test coverage for both scripts

Co-authored-by: davidfowl <[email protected]>
- Remove cross-platform CLI build from release.yml (not feasible on single runner)
- CLI archives should be attached from Azure Pipelines artifacts
- Clarify in release notes that artifacts need to be attached before publishing
- Make workflow more reliable by focusing on what it can do well

Co-authored-by: davidfowl <[email protected]>
Copilot AI changed the title [WIP] Propose an automation plan for the project Implement release automation workflows and scripts Dec 15, 2025
Copilot AI requested a review from davidfowl December 15, 2025 21:43
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