Skip to content

v0.14.0

v0.14.0 #42

Workflow file for this run

# Creates a release from a tag with the name "v[mayor].[minor].[patch]" and then publishes the language server to PyPI
# and the extension to Open-VSX and VSCode Marketplace.
name: Publish Release
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
jobs:
release:
name: Publish Release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
# --- Prepare and Package Client ---
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install client dependencies
working-directory: ./client
run: npm i
- name: Package VS Code Extension
id: packageExtension
uses: HaaLeo/publish-vscode-extension@v2
with:
pat: stub
packagePath: "./client/"
dryRun: true
# --- Prepare and Package Server ---
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Install Python packaging tools
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine
working-directory: server
- name: Package Python Server
run: python setup.py sdist bdist_wheel
working-directory: server
# --- Create GitHub Release ---
- name: Create Draft Release
id: create_release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Release ${{ github.ref }}
body: |
This release contains:
- [Galaxy Language Server](https://github.com/davelopez/galaxy-language-server/tree/main/server)
- [Galaxy Tools VS Code Extension](https://github.com/davelopez/galaxy-language-server/tree/main/client)
Changelog links:
- [Galaxy Language Server](https://github.com/davelopez/galaxy-language-server/blob/main/server/CHANGELOG.md)
- [Galaxy Tools Extension](https://github.com/davelopez/galaxy-language-server/blob/main/client/CHANGELOG.md#)
The standalone language server is available on [PyPI](https://pypi.org/project/galaxy-language-server/).
The VS Code extension is available on [Open VSX](https://open-vsx.org/extension/davelopez/galaxy-tools) and [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=davelopez.galaxy-tools).
draft: true
prerelease: false
generate_release_notes: true
files: |
server/dist/*
${{ steps.packageExtension.outputs.vsixPath }}
# --- Publish Python Package to PyPI ---
- name: Upload Python package to PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: twine upload --skip-existing dist/*
working-directory: server
# --- Publish VS Code Extension ---
- name: Publish to Visual Studio Marketplace
uses: HaaLeo/publish-vscode-extension@v2
with:
pat: ${{ secrets.VS_MARKETPLACE_TOKEN }}
registryUrl: https://marketplace.visualstudio.com
extensionFile: ${{ steps.packageExtension.outputs.vsixPath }}
- name: Publish to Open VSX Registry
uses: HaaLeo/publish-vscode-extension@v2
with:
pat: ${{ secrets.OPEN_VSX_TOKEN }}
extensionFile: ${{ steps.packageExtension.outputs.vsixPath }}