Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing VSCode release #1060

Open
wants to merge 7 commits into
base: canary
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions .github/workflows/build-python-release.reusable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ name: Release language_client_python

on:
workflow_call: {}
push:
branches: [manylinux-x86]

concurrency:
# suffix is important to prevent a concurrency deadlock with the calling workflow
Expand Down Expand Up @@ -44,13 +42,13 @@ jobs:

- target: x86_64-apple-darwin
runs_on: macos-latest

- target: aarch64-apple-darwin
runs_on: macos-latest

- target: x86_64-pc-windows-msvc
runs_on: windows-latest

name: ${{ matrix._.target }}
runs-on: ${{ matrix._.runs_on }}
steps:
Expand All @@ -62,7 +60,7 @@ jobs:

- name: Build wheels
uses: PyO3/maturin-action@v1
env: ${{ matrix._.env || fromJSON('{}') }}
# env: ${{ matrix._.env || fromJSON('{}') }}
with:
target: ${{ matrix._.target }}
command: build
Expand Down
8 changes: 3 additions & 5 deletions .github/workflows/build-typescript-release.reusable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ name: Release language_client_typescript

on:
workflow_call: {}
push:
branches: [sam/alpine-warnings]

concurrency:
# suffix is important to prevent a concurrency deadlock with the calling workflow
Expand Down Expand Up @@ -101,7 +99,7 @@ jobs:
- name: PNPM Install
run: pnpm install --frozen-lockfile
working-directory: engine/language_client_typescript

# per-matrix-entry dependency setup
- name: Build tools setup
run: ${{ matrix._.before }}
Expand All @@ -110,7 +108,7 @@ jobs:
- name: PNPM Build
run: ${{ matrix._.node_build }}
working-directory: engine/language_client_typescript

- name: Build TS
run: pnpm build:ts_build
working-directory: engine/language_client_typescript
Expand All @@ -120,4 +118,4 @@ jobs:
with:
name: bindings-${{ matrix._.target }}
path: engine/language_client_typescript/*.node
if-no-files-found: error
if-no-files-found: error
133 changes: 133 additions & 0 deletions .github/workflows/build-vscode-release.reusable.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
name: Release vscode_ext

on:
workflow_call: {}
push:
branches: [vscode-release]

concurrency:
# suffix is important to prevent a concurrency deadlock with the calling workflow
group: ${{ github.workflow }}-${{ github.ref }}-build-vscode
cancel-in-progress: true

jobs:
build:
name: Build VSCode
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: wasm32-unknown-unknown
- uses: Swatinem/rust-cache@v2
with:
workspaces: engine
- name: Bindgen
run: cargo install -f [email protected]
working-directory: engine/baml-schema-wasm
# Set up Node.js
- name: Setup Node.js
uses: actions/setup-node@v4
with:
cache: "pnpm"
node-version: 20
cache-dependency-path: |
typescript/**/pnpm-lock.yaml
- name: Install Dependencies
run: pnpm install --frozen-lockfile
working-directory: typescript/
- name: Build Typescript Project
run: pnpm run build
working-directory: typescript/

# Build the VSCode Extension
- name: Build VSCode Extension
id: build
run: |
pnpm run vscode:package
VERSION=$(cat package.json| grep version | cut -d ' ' -f 4 | sed 's/[",]//g')
echo "version=$VERSION" >> $GITHUB_OUTPUT
working-directory: typescript/vscode-ext/packages

# Upload the artifact (helpful for debugging and manual downloads)
- name: Upload VSCode Extension Artifact
uses: actions/upload-artifact@v4
with:
name: baml-vscode.vsix
path: typescript/vscode-ext/packages/gloo-${{ steps.build.outputs.version }}.vsix
if-no-files-found: error

# Upload the artifact (helpful for debugging and manual downloads)
- name: Upload VSCode Extension Artifact
uses: actions/upload-artifact@v4
with:
name: baml-out
path: typescript/vscode-ext/packages/vscode/out
if-no-files-found: error

# upload the lang server artifact
- name: Upload VSCode Lang Server Extension Artifact
uses: actions/upload-artifact@v4
with:
name: language-server
path: typescript/vscode-ext/packages/language-server/out
if-no-files-found: error

- name: VSCode Playground Artifact
uses: actions/upload-artifact@v4
with:
name: vscode-playground
path: typescript/vscode-ext/packages/web-panel/dist
if-no-files-found: error

publish-vscode:
needs: [build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

# Get all the artifacts
- name: Get artifact
uses: actions/download-artifact@v4
with:
name: baml-vscode.vsix
path: typescript/vscode-ext/packages
- name: Get artifact
uses: actions/download-artifact@v4
with:
name: baml-out
path: typescript/vscode-ext/packages/vscode/out
- name: Get artifact
uses: actions/download-artifact@v4
with:
name: language-server
path: typescript/vscode-ext/packages/language-server/out
- name: Get artifact
uses: actions/download-artifact@v4
with:
pattern: vscode-playground
path: typescript/vscode-ext/packages/web-panel/dist

- name: setup pnpm
uses: pnpm/action-setup@v3
with:
version: 9.0.6
package_json_file: typescript/package.json
run_install: false
# Set up Node.js
- name: Setup Node.js
uses: actions/setup-node@v4
with:
cache: "pnpm"
node-version: 20
cache-dependency-path: typescript/pnpm-lock.yaml

- name: Install Dependencies
run: pnpm install --frozen-lockfile
working-directory: typescript/
- name: Publish
run: |
pnpm run vscode:publish --no-git-tag-version -p ${{ secrets.VSCODE_PAT }}
working-directory: typescript/vscode-ext/packages
74 changes: 3 additions & 71 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,76 +19,8 @@ permissions:
id-token: write

jobs:
build-wasm:
runs-on: ubuntu-latest
name: Build WASM
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: wasm32-unknown-unknown
- uses: Swatinem/rust-cache@v2
with:
workspaces: engine
- name: Bindgen
run: cargo install -f [email protected]
working-directory: engine/baml-schema-wasm
# Set up Node.js
- name: Setup Node.js
uses: actions/setup-node@v4
with:
cache: "pnpm"
node-version: 20
cache-dependency-path: |
typescript/**/pnpm-lock.yaml
- name: Install Dependencies
run: pnpm install --frozen-lockfile
working-directory: typescript/
- name: Build Typescript Project
run: pnpm run build
working-directory: typescript/

# Build the VSCode Extension
- name: Build VSCode Extension
id: build
run: |
pnpm run vscode:package
VERSION=$(cat package.json| grep version | cut -d ' ' -f 4 | sed 's/[",]//g')
echo "version=$VERSION" >> $GITHUB_OUTPUT
working-directory: typescript/vscode-ext/packages

# Upload the artifact (helpful for debugging and manual downloads)
- name: Upload VSCode Extension Artifact
uses: actions/upload-artifact@v4
with:
name: baml-vscode.vsix
path: typescript/vscode-ext/packages/baml-extension-${{ steps.build.outputs.version }}.vsix
if-no-files-found: error

# Upload the artifact (helpful for debugging and manual downloads)
- name: Upload VSCode Extension Artifact
uses: actions/upload-artifact@v4
with:
name: baml-out
path: typescript/vscode-ext/packages/vscode/out
if-no-files-found: error

# upload the lang server artifact
- name: Upload VSCode Lang Server Extension Artifact
uses: actions/upload-artifact@v4
with:
name: language-server
path: typescript/vscode-ext/packages/language-server/out
if-no-files-found: error

- name: VSCode Playground Artifact
uses: actions/upload-artifact@v4
with:
name: vscode-playground
path: typescript/vscode-ext/packages/web-panel/dist
if-no-files-found: error
build-vscode-release:
uses: ./.github/workflows/build-vscode-release.reusable.yaml

build-python-release:
uses: ./.github/workflows/build-python-release.reusable.yaml
Expand All @@ -106,7 +38,7 @@ jobs:
- build-python-release
- build-typescript-release
- build-ruby-release
- build-wasm
- build-vscode-release
steps:
- run: true

Expand Down
4 changes: 2 additions & 2 deletions typescript/vscode-ext/packages/package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"name": "baml-extension",
"name": "Gloo",
"displayName": "Baml",
"description": "BAML is a DSL for AI applications.",
"version": "0.61.1",
"publisher": "Boundary",
"publisher": "Gloo",
"repository": "https://github.com/BoundaryML/baml",
"homepage": "https://www.boundaryml.com",
"icon": "baml-logo.png",
Expand Down
Loading