plano/.github/workflows/publish-binaries.yml

104 lines
3 KiB
YAML

name: Publish pre-compiled binaries (release)
on:
release:
types: [published]
workflow_dispatch:
inputs:
tag:
description: "Release tag to upload binaries to (e.g. 0.4.9)"
required: true
permissions:
contents: write
jobs:
build-wasm-plugins:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-wasip1
- name: Build WASM plugins
working-directory: crates
run: cargo build --release --target wasm32-wasip1 -p llm_gateway -p prompt_gateway
- name: Upload WASM plugins to release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release upload "${{ github.event.release.tag_name || inputs.tag }}" \
crates/target/wasm32-wasip1/release/prompt_gateway.wasm \
crates/target/wasm32-wasip1/release/llm_gateway.wasm \
--clobber
build-brightstaff-linux-amd64:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Build brightstaff
working-directory: crates
run: cargo build --release -p brightstaff
- name: Upload brightstaff to release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cp crates/target/release/brightstaff brightstaff-linux-amd64
gh release upload "${{ github.event.release.tag_name || inputs.tag }}" \
brightstaff-linux-amd64 \
--clobber
build-brightstaff-linux-arm64:
runs-on: [linux-arm64]
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Build brightstaff
working-directory: crates
run: cargo build --release -p brightstaff
- name: Upload brightstaff to release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cp crates/target/release/brightstaff brightstaff-linux-arm64
gh release upload "${{ github.event.release.tag_name || inputs.tag }}" \
brightstaff-linux-arm64 \
--clobber
build-brightstaff-darwin-arm64:
runs-on: macos-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Build brightstaff
working-directory: crates
run: cargo build --release -p brightstaff
- name: Upload brightstaff to release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cp crates/target/release/brightstaff brightstaff-darwin-arm64
gh release upload "${{ github.event.release.tag_name || inputs.tag }}" \
brightstaff-darwin-arm64 \
--clobber