Skip to content

Conversation

@WilliamBerryiii
Copy link
Member

Description

Implements a trunk-based release workflow using release-please automation with manual VS Code extension publishing. Configures version synchronization between root and extension packages, disables automatic release-triggered publishing, and provides contributor documentation explaining the complete release workflow.

  • feat(release-please): Added extra-files configuration to synchronize extension/package.json version with root package version during releases
  • feat(workflow): Exposed release-please step outputs (release_created, tag_name, version, major, minor, patch) in main.yml for downstream visibility
  • feat(workflow): Disabled automatic release trigger in extension-publish.yml, retaining only workflow_dispatch for manual publishing
  • docs(contributing): Created comprehensive release process guide covering trunk-based development, Release PR workflow, version calculation, and extension publishing steps

Related Issue(s)

Closes #160

Type of Change

Select all that apply:

Code & Documentation:

  • Bug fix (non-breaking change fixing an issue)
  • New feature (non-breaking change adding functionality)
  • Breaking change (fix or feature causing existing functionality to change)
  • Documentation update

Infrastructure & Configuration:

  • GitHub Actions workflow
  • Linting configuration (markdown, PowerShell, etc.)
  • Security configuration
  • DevContainer configuration
  • Dependency update

AI Artifacts:

  • Reviewed contribution with prompt-builder chatmode and addressed all feedback
  • Copilot instructions (.github/instructions/*.instructions.md)
  • Copilot prompt (.github/prompts/*.prompt.md)
  • Copilot chatmode (.github/chatmodes/*.chatmode.md)

Note for AI Artifact Contributors:

  • Chatmodes: Research, indexing/referencing other project (using standard VS Code GitHub Copilot/MCP tools), planning, and general implementation chatmodes likely already exist. Review .github/chatmodes/ before creating new ones.
  • Model Versions: Only contributions targeting the latest Anthropic and OpenAI models will be accepted. Older model versions (e.g., GPT-3.5, Claude 3) will be rejected.
  • See Chatmodes Not Accepted and Model Version Requirements.

Other:

  • Script/automation (.ps1, .sh, .py)
  • Other (please describe):

Sample Prompts (for AI Artifact Contributions)

Testing

  • Verified release-please-config.json validates with extra-files JSON structure
  • Confirmed workflow YAML syntax is valid
  • Documentation follows project markdown conventions

Checklist

Required Checks

  • Documentation is updated (if applicable)
  • Files follow existing naming conventions
  • Changes are backwards compatible (if applicable)

AI Artifact Contributions

  • Used prompt-builder chatmode to review contribution
  • Addressed all feedback from prompt-builder review
  • Verified contribution follows common standards and type-specific requirements

Required Automated Checks

The following validation commands must pass before merging:

  • Markdown linting: npm run lint:md
  • Spell checking: npm run spell-check
  • Frontmatter validation: npm run lint:frontmatter
  • Link validation: npm run lint:md-links
  • PowerShell analysis: npm run lint:ps

Security Considerations

  • This PR does not contain any sensitive or NDA information
  • Any new dependencies have been reviewed for security issues
  • Security-related scripts follow the principle of least privilege

Additional Notes

This PR implements the release management strategy for OIDC-based VS Code Marketplace publishing. The GitHub environment marketplace has been configured with:

  • Deployment restricted to main branch only
  • Secrets configured: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_SUBSCRIPTION_ID
  • Service principal added to publisher organization

After merge, the publish workflow can be tested via dry-run mode from the Actions tab.

🚀 - Generated by Copilot

Configure release-please to synchronize extension version with root
package version using extra-files. Disable automatic extension
publishing in favor of manual workflow_dispatch triggers. Add
contributor documentation explaining the trunk-based release workflow.

- Add extra-files to release-please-config.json for extension sync
- Comment out release trigger in extension-publish.yml (manual only)
- Create docs/contributing/release-process.md with full workflow guide
- Add release-please job outputs to main.yml for visibility

🚀 - Generated by Copilot
Copilot AI review requested due to automatic review settings January 10, 2026 05:07
@WilliamBerryiii WilliamBerryiii requested a review from a team as a code owner January 10, 2026 05:07
@github-actions
Copy link

github-actions bot commented Jan 10, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

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 implements a comprehensive release management strategy using release-please automation with manual VS Code extension publishing. The changes establish version synchronization between root and extension packages, expose release metadata for downstream workflows, and provide detailed contributor/maintainer documentation for the trunk-based release workflow.

Changes:

  • Configure release-please to synchronize extension/package.json version with root package.json
  • Expose release-please outputs (release_created, tag_name, version, major/minor/patch) in main workflow
  • Disable automatic release-triggered publishing, retaining only manual workflow_dispatch for extension publishing
  • Add comprehensive release process documentation covering conventional commits, Release PR workflow, and extension publishing procedures

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
release-please-config.json Adds extra-files configuration to synchronize extension package version during releases
.github/workflows/main.yml Exposes release-please step outputs for downstream workflow visibility
.github/workflows/extension-publish.yml Comments out release trigger, making extension publishing manual-only
docs/contributing/release-process.md New comprehensive documentation covering release workflow, version calculation, and publishing steps

Copilot AI review requested due to automatic review settings January 10, 2026 05:23
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 4 out of 4 changed files in this pull request and generated 2 comments.

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.

[Issue]: Implement release management with OIDC-based extension publishing

2 participants