CI: Configure git user #861
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@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
# Inspired by https://stackoverflow.com/a/72981982 | |
- name: Configure Git autor for Yocto do_patch | |
run: | | |
git config --global user.name "${GITHUB_ACTOR}" | |
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com" | |
- 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@v4 | |
with: | |
name: vscode-bitbake | |
path: ./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@v4 | |
- 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@v4 | |
- 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@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- run: npm run clean | |
- run: npm install && npm run fetch:docs | |
- run: cd server && npm pack | |
- name: Archive server package | |
uses: actions/upload-artifact@v4 | |
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@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
registry-url: 'https://registry.npmjs.org' | |
- uses: actions/download-artifact@v4 | |
- name: Publish to npm | |
run: npm publish $(find . -iname language-server-bitbake-*.tgz) | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} |