diff --git a/.github/workflows/build-python-release.reusable.yaml b/.github/workflows/build-python-release.reusable.yaml index a394d76cf..75275681d 100644 --- a/.github/workflows/build-python-release.reusable.yaml +++ b/.github/workflows/build-python-release.reusable.yaml @@ -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 @@ -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: @@ -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 diff --git a/.github/workflows/build-typescript-release.reusable.yaml b/.github/workflows/build-typescript-release.reusable.yaml index 20830937c..b3bd5fe78 100644 --- a/.github/workflows/build-typescript-release.reusable.yaml +++ b/.github/workflows/build-typescript-release.reusable.yaml @@ -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 @@ -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 }} @@ -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 @@ -120,4 +118,4 @@ jobs: with: name: bindings-${{ matrix._.target }} path: engine/language_client_typescript/*.node - if-no-files-found: error \ No newline at end of file + if-no-files-found: error diff --git a/.github/workflows/build-vscode-release.reusable.yaml b/.github/workflows/build-vscode-release.reusable.yaml new file mode 100644 index 000000000..f5a020349 --- /dev/null +++ b/.github/workflows/build-vscode-release.reusable.yaml @@ -0,0 +1,83 @@ +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 wasm-bindgen-cli@0.2.92 + 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 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0ab83d311..bf59017e0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -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 wasm-bindgen-cli@0.2.92 - 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 @@ -106,7 +38,7 @@ jobs: - build-python-release - build-typescript-release - build-ruby-release - - build-wasm + - build-vscode-release steps: - run: true