Skip to content

Create pre-release workflow for Vale VSCode extension#77

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/fix-8bdc9db5-1a97-4a18-ae6e-3e97c6d4cbe1
Draft

Create pre-release workflow for Vale VSCode extension#77
Copilot wants to merge 2 commits intomainfrom
copilot/fix-8bdc9db5-1a97-4a18-ae6e-3e97c6d4cbe1

Conversation

Copy link
Copy Markdown

Copilot AI commented Oct 5, 2025

Overview

This PR implements a complete pre-release publishing flow for the Vale VSCode extension, addressing the different ways Microsoft Visual Studio Marketplace and Open VSX Registry handle pre-release versions.

Problem

Previously, the extension only had workflows for stable releases. There was no way to publish pre-release versions (alpha, beta, or release candidate) to allow users to test new features before stable releases.

Solution

This implementation adds dedicated pre-release workflows while maintaining backward compatibility with the existing stable release process.

New Workflows

publishPreRelease.yml

  • Publishes to both Open VSX Registry and Microsoft Marketplace with the preRelease: true flag
  • Triggers on tags matching: *-alpha*, *-beta*, or *-rc*
  • Example tags: v0.31.0-beta.1, v1.0.0-rc.1, v0.31.0-alpha.1

preRelease.yml

  • Creates GitHub pre-releases with auto-generated release notes
  • Triggers on the same tag patterns as above

Updated Workflows

Both publishTags.yml and release.yml now exclude pre-release tags using negation patterns, ensuring stable releases and pre-releases are handled independently:

tags:
  - "*"
  - "!*-alpha*"
  - "!*-beta*"
  - "!*-rc*"

Tag Naming Convention

Stable releases: vX.Y.Z (e.g., v0.31.0)

  • Triggers stable release workflows

Pre-releases: vX.Y.Z-{alpha|beta|rc}[.N] (e.g., v0.31.0-beta.1)

  • Triggers pre-release workflows

How It Works

Both marketplaces (Microsoft and Open VSX) support pre-release versions using the same mechanism (preRelease: true parameter), making the implementation consistent across both platforms. Users can opt-in to pre-releases through VS Code's extension UI by switching to the pre-release channel.

Documentation

  • Updated CONTRIBUTING.md with comprehensive pre-release publishing instructions
  • Added pre-release workflow status badge to README.md

Benefits

  • ✅ Safe testing of new features before stable release
  • ✅ User choice to opt-in to pre-releases
  • ✅ Automated publishing with no manual intervention
  • ✅ Consistent behavior across both marketplaces
  • ✅ Clear tag naming convention

Validation

  • All YAML files validated for syntax correctness
  • Tag pattern logic tested with multiple tag formats
  • No conflicts between stable and pre-release workflows
  • Backward compatible with existing release process

Fixes #[issue_number]

Original prompt

This section details on the original issue you should resolve

<issue_title>Create pre-release flow</issue_title>
<issue_description>The Microsoft and VSX stores handle pre-releases in different ways, so to handle pre-releases in the future, there needs to be a new workflow.</issue_description>

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

Fixes #76

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

- Add publishPreRelease.yml workflow for pre-release tags
- Add preRelease.yml workflow for GitHub pre-releases
- Update publishTags.yml to exclude pre-release tags
- Update release.yml to exclude pre-release tags
- Update CONTRIBUTING.md with pre-release documentation
- Add pre-release workflow badge to README.md

Co-authored-by: ChrisChinchilla <42080+ChrisChinchilla@users.noreply.github.com>
Copilot AI changed the title [WIP] Create pre-release flow Create pre-release workflow for Vale VSCode extension Oct 5, 2025
Copilot AI requested a review from ChrisChinchilla October 5, 2025 14:42
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.

Create pre-release flow

3 participants