Bug fixes and image support #14
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: Publish Extension | |
on: | |
release: | |
types: [released] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
# 1. Check-out repository | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # This ensures all tags are fetched | |
- name: Checkout tag | |
run: git checkout ${GITHUB_REF#refs/tags/} | |
- name: Make sure version isn't odd | |
run: | | |
node scripts/versionCheck.js | |
# 2. Install npm dependencies | |
- name: Use Node.js from .nvmrc | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.nvmrc' | |
- name: Cache node_modules | |
uses: actions/cache@v3 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} | |
- name: Install Dependencies | |
run: | | |
npm ci | |
# 3. Package the extension | |
- name: Package the extension | |
run: npx vsce package --no-dependencies | |
# 4. Upload the .vsix as an artifact | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: extension | |
path: '*.vsix' | |
release: | |
permissions: | |
contents: write | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Git | |
run: | | |
git config --local user.email "[email protected]" | |
git config --local user.name "CodeStory Team" | |
# Download the .vsix artifacts | |
- uses: actions/download-artifact@v4 | |
with: | |
pattern: '*extension' | |
path: vsix-artifacts | |
merge-multiple: true | |
- name: Release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: ${{ github.ref_name }} | |
files: | | |
vsix-artifacts/*.vsix | |
repository: codestoryai/extension | |
publish: | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
permissions: | |
contents: write | |
steps: | |
# 0. Setup git | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Git | |
run: | | |
git config --local user.email "[email protected]" | |
git config --local user.name "CodeStory Team" | |
- name: Pull latest changes from release | |
run: git fetch origin ${{ github.ref }} && git checkout ${{ github.ref }} | |
# 1. Download the artifacts | |
- uses: actions/download-artifact@v4 | |
with: | |
pattern: '*extension' | |
path: vsix-artifacts | |
merge-multiple: true | |
# 2. Publish the extension to VS Code Marketplace | |
- name: Publish to VS Code Marketplace | |
run: | | |
npx vsce publish --packagePath vsix-artifacts/*.vsix | |
env: | |
VSCE_PAT: ${{ secrets.VSCE_TOKEN }} | |
# 3. Publish the extension to Open VSX Registry | |
- name: Publish (Open VSX Registry) | |
continue-on-error: true | |
run: | | |
npx ovsx publish -p ${{ secrets.VSX_REGISTRY_TOKEN }} --packagePath vsix-artifacts/*.vsix |