Skip to content

Update release#59

Merged
Morgy93 merged 3 commits intomainfrom
update-release
Jan 12, 2026
Merged

Update release#59
Morgy93 merged 3 commits intomainfrom
update-release

Conversation

@Morgy93
Copy link
Contributor

@Morgy93 Morgy93 commented Jan 12, 2026

This pull request updates the release workflow in .github/workflows/release.yml to improve automation, code quality checks, and publishing steps. The most important changes include upgrading GitHub Actions dependencies, adding linting, automating artifact uploads, and enabling publishing to the VS Code Marketplace.

Workflow improvements and automation:

  • Added workflow_dispatch trigger to allow manual workflow runs.
  • Upgraded actions/checkout and actions/setup-node to version 6 for better reliability and future support.
  • Added an explicit lint step (npm run lint) to enforce code quality before releasing.
  • Added a step to upload the built .vsix package as an artifact using actions/upload-artifact@v4.
  • Restricted steps like version extraction, changelog extraction, release creation, and publishing to only run for tag pushes (using if: startsWith(github.ref, 'refs/tags/')). [1] [2]

Publishing enhancements:

  • Un-commented and enabled the step to publish the extension to the VS Code Marketplace automatically when a tag is pushed, using the .vsix artifact and the VSCE_PAT secret.

Copilot AI review requested due to automatic review settings January 12, 2026 14:40
@Morgy93 Morgy93 merged commit 106c4c8 into main Jan 12, 2026
21 checks passed
@Morgy93 Morgy93 deleted the update-release branch January 12, 2026 14:42
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 modernizes the release workflow by adding manual trigger support, upgrading GitHub Actions dependencies, adding code quality checks, and enabling automated marketplace publishing. However, it contains critical issues with non-existent action versions that will prevent the workflow from running.

Changes:

  • Added workflow_dispatch trigger for manual workflow execution
  • Upgraded GitHub Actions to v6 (checkout and setup-node)
  • Added lint step for code quality enforcement before release
  • Added artifact upload for built VSIX packages
  • Enabled automatic publishing to VS Code Marketplace with conditional guards

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +37 to +45
- name: Package extension
run: |
npx @vscode/vsce package

- name: Extract changelog for version
id: changelog
run: |
VERSION=${GITHUB_REF#refs/tags/v}
# Extract changelog section for this version
sed -n "/## \[$VERSION\]/,/## \[/p" CHANGELOG.md | sed '$d' > release_notes.md
if [ ! -s release_notes.md ]; then
echo "No changelog found for version $VERSION"
echo "# Release $VERSION" > release_notes.md
echo "See CHANGELOG.md for details." >> release_notes.md
fi
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: vsix-package
path: '*.vsix'
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow will fail when triggered by workflow_dispatch because steps that depend on tag information will be skipped due to the if: startsWith(github.ref, 'refs/tags/') condition, but the "Package extension" and "Upload Artifact" steps will still run. This creates an inconsistent state where artifacts are uploaded without a corresponding release. Consider either adding the same conditional to the packaging and upload steps, or restructure the workflow to handle manual runs differently.

Copilot uses AI. Check for mistakes.
# if: secrets.OVSX_PAT != null
- name: Publish to VS Code Marketplace
if: startsWith(github.ref, 'refs/tags/')
run: npx @vscode/vsce publish --packagePath *.vsix -p ${{ secrets.VSCE_PAT }}
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The publish step uses the -p flag to pass the secret directly on the command line. This could expose the secret in process listings or logs. Use the VSCE_PAT environment variable instead by setting it in an env: block and using the --pat flag without a value, which will cause vsce to read from the environment variable.

Suggested change
run: npx @vscode/vsce publish --packagePath *.vsix -p ${{ secrets.VSCE_PAT }}
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}
run: npx @vscode/vsce publish --packagePath *.vsix --pat

Copilot uses AI. Check for mistakes.
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.

1 participant