Skip to content

build(deps-dev): Bump esbuild from 0.20.2 to 0.23.1 #365

build(deps-dev): Bump esbuild from 0.20.2 to 0.23.1

build(deps-dev): Bump esbuild from 0.20.2 to 0.23.1 #365

Workflow file for this run

name: Build and Release
on:
pull_request:
types:
- opened
- synchronize
- reopened
- closed
branches:
- main
jobs:
test:
# only run if not closed or closed with merge
if: ${{ github.event.pull_request.merged == true || github.event.pull_request.state != 'closed' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
strategy:
matrix:
os:
- windows-latest
- macos-latest
- ubuntu-latest
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
- name: npm install
run: npm ci
- name: Run tests
if: ${{ github.event_name == 'pull_request' }}
uses: coactions/setup-xvfb@v1
with:
run: npm test
build:
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
- name: Install dependencies
run: npm ci
- name: Build VSX package
run: |
npm install --global vsce
vsce package
- name: Upload VSX package
uses: actions/upload-artifact@v4
with:
name: vsx-package
path: "*.vsix"
release:
needs: build
# only run if merged and lable release is set
if: ${{ github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'release') }}
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: get-npm-version
id: package-version
uses: martinbeentjes/[email protected]
- name: Download VSX package
uses: actions/download-artifact@v4
with:
name: vsx-package
path: build
- name: Publish release
uses: softprops/action-gh-release@v2
with:
files: build/*.vsix
tag_name: "v.${{ steps.package-version.outputs.current-version}}"
generate_release_notes: true
- name: Publish to Marketplace
run: npx vsce publish --no-git-tag-version --packagePath $(find . -iname *.vsix)
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}