Release: Update package tags to v2.4.0 #738
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: vscode-bitbake CI/CD | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- '*' | |
tags: | |
- "v*" | |
pull_request: | |
branches: | |
- '*' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
env: | |
DBUS_SESSION_BUS_ADDRESS: unix:path=/run/user/1001/bus | |
SHELL: /usr/bin/bash | |
strategy: | |
matrix: | |
node-version: [20] | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v2 | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Clean install | |
run: npm run clean | |
- name: Install Dependencies | |
run: npm install && npm run fetch && sudo apt install chrpath diffstat | |
- name: Run Linter | |
run: npm run lint | |
- name: Build Project | |
run: npm run compile | |
- name: Test Project | |
run: npm run test | |
- name: Build the VSIX | |
run: npm run package | |
- name: Archive VSIX | |
uses: actions/upload-artifact@v3 | |
with: | |
name: vscode-bitbake | |
path: client/yocto-bitbake*.vsix | |
# Inspired by https://github.com/microsoft/vscode-platform-specific-sample/blob/a0192a21122dfa5c90934b006f027cdf4e4d892d/.github/workflows/ci.yml#L64C11-L64C11 MIT License | |
publish-vsce: | |
runs-on: ubuntu-latest | |
environment: VSCE | |
needs: build | |
if: success() && startsWith( github.ref, 'refs/tags/') | |
steps: | |
- uses: actions/download-artifact@v3 | |
- run: npx vsce publish --packagePath $(find . -iname yocto-bitbake*.vsix) | |
env: | |
VSCE_PAT: ${{ secrets.VSCE_PAT }} | |
# Instructions on https://github.com/eclipse/openvsx/wiki/Publishing-Extensions | |
publish-open-vsx: | |
runs-on: ubuntu-latest | |
environment: OPEN-VSX | |
needs: build | |
if: success() && startsWith( github.ref, 'refs/tags/') | |
steps: | |
- uses: actions/download-artifact@v3 | |
- run: npx ovsx publish $(find . -iname yocto-bitbake*.vsix) -p ${VSX_PAT} | |
env: | |
VSX_PAT: ${{ secrets.VSX_PAT }} | |
build-language-server-standalone: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- run: npm run clean | |
- run: cd server && npm install | |
- run: cd server && npm pack | |
- name: Archive server package | |
uses: actions/upload-artifact@v3 | |
with: | |
name: language-server-bitbake | |
path: server/language-server-bitbake-*.tgz | |
# Inspired by https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages | |
publish-npm: | |
runs-on: ubuntu-latest | |
environment: NPM | |
needs: [build, build-language-server-standalone] | |
if: success() && startsWith( github.ref, 'refs/tags/') | |
steps: | |
# Setup .npmrc file to publish to npm | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
registry-url: 'https://registry.npmjs.org' | |
- uses: actions/download-artifact@v3 | |
- name: Publish to npm | |
run: npm publish $(find . -iname language-server-bitbake-*.tgz) | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} |