Skip to content

chore: bump @maxonfjvipon/xslint to 0.0.12 #4

chore: bump @maxonfjvipon/xslint to 0.0.12

chore: bump @maxonfjvipon/xslint to 0.0.12 #4

Workflow file for this run

# SPDX-FileCopyrightText: Copyright (c) 2025-2026 Max Trunnikov
# SPDX-License-Identifier: MIT
---
name: release
'on':
push:
tags:
- '[0-9]+.[0-9]+.[0-9]+'
permissions:
contents: write
id-token: write
concurrency:
group: release-${{ github.ref }}
cancel-in-progress: false
jobs:
release:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: 22
registry-url: https://registry.npmjs.org
- run: npm install
- name: Stamp the released version
env:
VERSION: ${{ github.ref_name }}
run: |
sed -i "s/\"version\": \"0\.0\.0\"/\"version\": \"${VERSION}\"/" \
package.json
- run: npm run lint
- run: npm test
- run: npm run coverage
- name: Publish to npm via OIDC
run: |
npm install -g npm@latest
npm publish --provenance --access public
- name: Set the GitHub release notes from the changelog
env:
GH_TOKEN: ${{ github.token }}
VERSION: ${{ github.ref_name }}
run: |
node scripts/changelog-notes.js "${VERSION}" > notes.md
gh release edit "${VERSION}" --notes-file notes.md \
|| gh release create "${VERSION}" --title "${VERSION}" \
--notes-file notes.md
- name: Trigger the JetBrains plugin cascade
env:
GH_TOKEN: ${{ secrets.DISPATCH_TOKEN }}
VERSION: ${{ github.ref_name }}
run: |
printf '{"event_type":"xslint-lsp-released","client_payload":{"version":"%s"}}' \
"${VERSION}" | gh api -X POST repos/xslint/xslint-jetbrains/dispatches --input -
extension:
needs: release
runs-on: ubuntu-24.04
permissions:
contents: write
env:
OVSX: ${{ secrets.OVSX_TOKEN }}
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: 22
- name: Build the extension bundling the released server
working-directory: client
env:
VERSION: ${{ github.ref_name }}
run: |
npm ci
echo "waiting for xslint-lsp@${VERSION} to propagate to npm"
for _ in $(seq 1 30); do
test -n "$(npm view "xslint-lsp@${VERSION}" version 2>/dev/null)" && break
sleep 10
done
npm install --save-exact "xslint-lsp@${VERSION}"
npm version "${VERSION}" --no-git-tag-version
npx vsce package --out "xslint-vscode-${VERSION}.vsix"
- name: Attach the extension to the GitHub release
env:
GH_TOKEN: ${{ github.token }}
VERSION: ${{ github.ref_name }}
run: gh release upload "${VERSION}" "client/xslint-vscode-${VERSION}.vsix"
- name: Publish to Open VSX
if: env.OVSX != ''
working-directory: client
env:
VERSION: ${{ github.ref_name }}
run: |
npx --yes ovsx create-namespace maxonfjvipon -p "${OVSX}" || true
npx --yes ovsx publish "xslint-vscode-${VERSION}.vsix" -p "${OVSX}"