Skip to content

Latest commit

 

History

History
98 lines (67 loc) · 3.12 KB

RELEASE.md

File metadata and controls

98 lines (67 loc) · 3.12 KB

Release Process Guide

This document describes the process for testing and releasing new versions of the ZenML VSCode extension.

Testing Releases

Before publishing a new version of the extension, you should test the release process to ensure everything works correctly. We have a dedicated GitHub Actions workflow for this purpose.

Using the Test Workflow

  1. Prepare your changes

    • Update the version in package.json
    • Update CHANGELOG.md with the new version and changes
    • Commit these changes to your branch
  2. Run the test workflow

    • Go to the Actions tab in the GitHub repository
    • Select "Test VSCode Extension Release" workflow
    • Click "Run workflow"
    • Select the branch containing your changes
    • Click "Run workflow" again
  3. Review the workflow output

    • Check that all steps completed successfully
    • Verify the package content and validation passed
    • Review the generated changelog and release notes
  4. Test the extension locally

    • Download the VSIX artifact from the workflow run
    • Install it in VS Code using: code --install-extension zenml.vsix
    • Test that all features work as expected

How the Test Workflow Works

The test workflow (.github/workflows/test-publish.yml) performs these steps:

  1. Build and Package

    • Builds the extension source code
    • Packages it into a VSIX file
    • Runs the test suite
  2. Validate

    • Verifies the package content
    • Validates required fields in package.json
    • Simulates the publishing process without actually publishing
  3. Generate Documentation

    • Creates a changelog from git history since the last tag
    • Extracts the current version's information from CHANGELOG.md
  4. Upload Artifacts

    • Makes the VSIX package available for download
    • Provides the generated changelog and release notes for review

Publishing a Release

Once you've tested the release and everything looks good, you can publish it:

  1. Tag the Release

    git tag -a 0.0.x -m "Version 0.0.x"
    git push origin 0.0.x
  2. Create a GitHub Release

    • Go to the Releases page in the GitHub repository
    • Click "Draft a new release"
    • Select the tag you just pushed
    • Title the release "Version 0.0.x"
    • The release workflow will automatically:
      • Publish the extension to the VS Code Marketplace
      • Attach the VSIX file to the GitHub release
      • Use the content from CHANGELOG.md as release notes

Release Workflow Details

The release workflow (.github/workflows/release.yml) is triggered when a GitHub release is created. It:

  1. Builds and packages the extension
  2. Runs tests to ensure quality
  3. Publishes the extension to the VS Code Marketplace
  4. Updates the GitHub release with artifacts and release notes

Troubleshooting

If you encounter issues during the release process:

  • Build failures: Check the logs for specific error messages
  • Test failures: Run tests locally to debug before retrying
  • Publication issues: Verify the VSCE_PAT secret is valid in the repository settings
  • Version conflicts: Ensure the version in package.json matches your tag