summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/release.yml132
1 files changed, 132 insertions, 0 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..84d340d
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,132 @@
+name: Release
+
+on:
+ push:
+ tags:
+ - 'v*'
+
+env:
+ CARGO_TERM_COLOR: always
+
+jobs:
+ build:
+ name: Build ${{ matrix.target }}
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - target: x86_64-unknown-linux-gnu
+ os: ubuntu-latest
+ artifact_name: makima
+ asset_name: makima-${{ github.ref_name }}-linux-x86_64
+ - target: x86_64-apple-darwin
+ os: macos-15-intel
+ artifact_name: makima
+ asset_name: makima-${{ github.ref_name }}-macos-x86_64
+ - target: aarch64-apple-darwin
+ os: macos-14
+ artifact_name: makima
+ asset_name: makima-${{ github.ref_name }}-macos-arm64
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Install Rust toolchain
+ uses: dtolnay/rust-toolchain@nightly
+ with:
+ targets: ${{ matrix.target }}
+
+ - name: Install dependencies (Linux)
+ if: runner.os == 'Linux'
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y pkg-config libssl-dev
+
+ - name: Build release binary
+ working-directory: makima
+ run: cargo build --release --target ${{ matrix.target }}
+
+ - name: Package binary
+ shell: bash
+ run: |
+ cd target/${{ matrix.target }}/release
+ if [ "${{ runner.os }}" = "Windows" ]; then
+ 7z a ../../../${{ matrix.asset_name }}.zip ${{ matrix.artifact_name }}.exe
+ else
+ tar czvf ../../../${{ matrix.asset_name }}.tar.gz ${{ matrix.artifact_name }}
+ fi
+ cd -
+
+ - name: Upload artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ matrix.asset_name }}
+ path: ${{ matrix.asset_name }}.tar.gz
+
+ release:
+ name: Create Release
+ needs: build
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Download all artifacts
+ uses: actions/download-artifact@v4
+ with:
+ path: artifacts
+
+ - name: List artifacts
+ run: find artifacts -type f
+
+ - name: Create Release
+ uses: softprops/action-gh-release@v2
+ with:
+ draft: false
+ prerelease: false
+ generate_release_notes: false
+ body: |
+ ## Makima CLI v${{ github.ref_name }}
+
+ Initial release of the Makima CLI - a unified command-line interface for the Makima platform.
+
+ ### Available Commands
+
+ - **`makima server`** - Run the Makima server for audio processing and API endpoints
+ - **`makima daemon`** - Run the daemon that connects to the server and executes tasks
+ - **`makima supervisor`** - Supervisor commands for managing tasks and contracts
+ - **`makima contract`** - Contract-related commands for task tracking and reporting
+
+ ### Installation
+
+ Download the appropriate binary for your platform and add it to your PATH:
+
+ ```bash
+ # Linux x86_64
+ curl -LO https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/makima-${{ github.ref_name }}-linux-x86_64.tar.gz
+ tar xzf makima-${{ github.ref_name }}-linux-x86_64.tar.gz
+ sudo mv makima /usr/local/bin/
+
+ # macOS Intel
+ curl -LO https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/makima-${{ github.ref_name }}-macos-x86_64.tar.gz
+ tar xzf makima-${{ github.ref_name }}-macos-x86_64.tar.gz
+ sudo mv makima /usr/local/bin/
+
+ # macOS Apple Silicon
+ curl -LO https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/makima-${{ github.ref_name }}-macos-arm64.tar.gz
+ tar xzf makima-${{ github.ref_name }}-macos-arm64.tar.gz
+ sudo mv makima /usr/local/bin/
+ ```
+
+ ### Verification
+
+ After installation, verify with:
+ ```bash
+ makima --help
+ ```
+ files: |
+ artifacts/**/*.tar.gz