Skip to content

release: v0.2.0 — BAML fallback, discriminators, macOS CI #2

release: v0.2.0 — BAML fallback, discriminators, macOS CI

release: v0.2.0 — BAML fallback, discriminators, macOS CI #2

Workflow file for this run

name: Release
on:
push:
tags:
- "v*"
env:
CARGO_TERM_COLOR: always
jobs:
build-linux:
name: Linux x86_64
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Install protoc
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build
run: cargo build --release -p rust-code
- name: Package
run: |
strip target/release/rust-code
mkdir -p dist/rust-code-linux-x86_64
cp target/release/rust-code dist/rust-code-linux-x86_64/
cp README.md dist/rust-code-linux-x86_64/
cp LICENSE dist/rust-code-linux-x86_64/
cd dist
tar czf ../rust-code-linux-x86_64.tar.gz rust-code-linux-x86_64
- name: Checksums
run: sha256sum rust-code-linux-x86_64.tar.gz > rust-code-linux-x86_64.tar.gz.sha256
- name: Upload to release
uses: softprops/action-gh-release@v2
with:
files: |
rust-code-linux-x86_64.tar.gz
rust-code-linux-x86_64.tar.gz.sha256
build-macos:
name: macOS aarch64
runs-on: macos-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Install protoc
run: brew install protobuf
- name: Build
run: cargo build --release -p rust-code
- name: Package
run: |
strip target/release/rust-code
mkdir -p dist/rust-code-macos-aarch64
cp target/release/rust-code dist/rust-code-macos-aarch64/
cp README.md dist/rust-code-macos-aarch64/
cp LICENSE dist/rust-code-macos-aarch64/
cd dist
tar czf ../rust-code-macos-aarch64.tar.gz rust-code-macos-aarch64
- name: Checksums
run: shasum -a 256 rust-code-macos-aarch64.tar.gz > rust-code-macos-aarch64.tar.gz.sha256
- name: Upload to release
uses: softprops/action-gh-release@v2
with:
files: |
rust-code-macos-aarch64.tar.gz
rust-code-macos-aarch64.tar.gz.sha256
publish-crate:
name: Publish to crates.io
runs-on: ubuntu-latest
needs: [build-linux, build-macos]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Install protoc
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Publish rust-code
run: cargo publish -p rust-code --allow-dirty
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}