Merge pull request #628 from BoundaryML/working-vscode #98
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: Release language_client_python | |
on: | |
push: | |
branches: ["canary"] | |
workflow_dispatch: {} | |
permissions: | |
contents: read | |
id-token: write | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
_: | |
- runs_on: ubuntu-latest | |
target: x86_64 | |
name: x86_64-unknown-linux-gnu | |
- runs_on: ubuntu-latest | |
target: aarch64 | |
name: aarch64-unknown-linux-gnu | |
- runs_on: macos-latest | |
target: x86_64 | |
name: x86_64-apple-darwin | |
- runs_on: macos-latest | |
target: aarch64 | |
name: aarch64-apple-darwin | |
- runs_on: windows-latest | |
target: x64 | |
name: x86_64-pc-windows-msvc | |
runs-on: ${{ matrix._.runs_on }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.8" | |
architecture: ${{ matrix._.runs_on == 'windows-latest' && 'x64' || null }} | |
- name: Build wheels | |
uses: PyO3/maturin-action@v1 | |
with: | |
target: ${{ matrix._.target }} | |
command: build | |
args: --release --out engine/language_client_python/dist --manifest-path engine/language_client_python/Cargo.toml | |
sccache: "true" | |
manylinux: ${{ matrix._.runs_on == 'ubuntu-latest' && 'auto' || null }} | |
before-script-linux: | | |
if command -v yum &> /dev/null; then | |
yum update -y && yum install -y perl-core openssl openssl-devel pkgconfig libatomic | |
else | |
# If we're running on debian-based system. | |
apt update -y && apt-get install -y libssl-dev openssl pkg-config | |
fi | |
- name: Upload wheels | |
uses: actions/upload-artifact@v4 | |
with: | |
name: wheels-${{ matrix._.name }} | |
path: engine/language_client_python/dist | |
publish: | |
runs-on: ubuntu-latest | |
needs: [build] | |
#if: startsWith(github.ref, 'refs/tags/release/') | |
#environment: release | |
steps: | |
- uses: actions/download-artifact@v4 | |
- run: mkdir dist && mv wheels-*/* dist | |
# authz is managed via OIDC configured at https://pypi.org/manage/project/baml-py/settings/publishing/ | |
# it is pinned to this github actions filename, so renaming this file is not safe!! | |
- name: Publish package to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 |