Release v0.2.2 #12
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release Artifacts and Deploy | |
on: | |
push: | |
tags: | |
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 | |
env: | |
NODE_VERSION: '18.x' | |
jobs: | |
build-vscode: | |
name: Build the VSCode extension | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up NodeJS ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- run: npm install -g typescript | |
- run: npm install -g vsce | |
- run: npm install | |
- name: Package VSCode extension into .vsix file | |
run: vsce package --out effekt.vsix | |
- name: Upload vsix file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: effekt-vscode | |
path: effekt.vsix | |
release: | |
name: Create Release | |
runs-on: ubuntu-latest | |
needs: [build-vscode] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download VSCode artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: effekt-vscode | |
path: distribution/ | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
release_name: Release ${{ github.ref }} | |
tag_name: ${{ github.ref }} | |
body: Automatic release for ${{ github.ref }} | |
draft: false | |
prerelease: false | |
- name: Upload vsix file | |
id: upload_vsix | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./distribution/effekt.vsix | |
asset_name: effekt-vscode-extension.vsix | |
asset_content_type: application/zip | |
deploy: | |
name: Deploy to VSCode Marketplace | |
runs-on: ubuntu-latest | |
needs: [release] | |
steps: | |
- name: Set up NodeJS ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Install vsce | |
run: npm install -g vsce | |
- name: Download VSCode artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: effekt-vscode | |
path: ./ | |
- name: Publish to VSCode Marketplace | |
env: | |
VSCE_PAT: ${{ secrets.VSCE_PAT }} | |
run: | | |
# -i: Specifies the path to the .vsix file to publish | |
# $(ls *.vsix): Finds the .vsix file in the current directory | |
vsce publish -i $(ls *.vsix) |