docs: add release pipeline documentation and update AGENTS.md #2
This file contains hidden or 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 | |
| on: | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| jobs: | |
| release-please: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| release_created: ${{ steps.release.outputs.release_created }} | |
| release_id: ${{ steps.release.outputs.id }} | |
| tag_name: ${{ steps.release.outputs.tag_name }} | |
| steps: | |
| - uses: googleapis/release-please-action@v4 | |
| id: release | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| config-file: release-please-config.json | |
| manifest-file: .release-please-manifest.json | |
| build-windows: | |
| needs: release-please | |
| if: needs.release-please.outputs.release_created == 'true' | |
| runs-on: windows-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| lfs: true | |
| - name: Install Rust stable | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Rust cache | |
| uses: swatinem/rust-cache@v2 | |
| with: | |
| workspaces: './src-tauri -> target' | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v4 | |
| - name: Build Python sidecar | |
| shell: pwsh | |
| run: | | |
| cd engine | |
| uv sync | |
| uv run pyinstaller aurotype-engine.spec --noconfirm | |
| $triple = (rustc -vV | Select-String 'host:').Line.Trim().Split(' ')[1] | |
| New-Item -ItemType Directory -Force -Path ../src-tauri/binaries | Out-Null | |
| Copy-Item dist/aurotype-engine.exe "../src-tauri/binaries/aurotype-engine-$triple.exe" | |
| Write-Host "Sidecar copied as aurotype-engine-$triple.exe" | |
| - name: Set up Bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Install frontend dependencies | |
| run: bun install | |
| - name: Build and upload to release | |
| uses: tauri-apps/tauri-action@v0 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| releaseId: ${{ needs.release-please.outputs.release_id }} | |
| tauriScript: bun run tauri |