name: Test Build on: push: tags: - 'test-v*.*.*' permissions: write-all env: CARGO_INCREMENTAL: 0 RUST_BACKTRACE: short concurrency: group: '${{ github.workflow }}-${{ github.ref }}' cancel-in-progress: true jobs: test-build: name: Test Build (aarch64-apple-darwin) runs-on: macos-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Install Rust uses: dtolnay/rust-toolchain@stable with: targets: aarch64-apple-darwin - name: Rust cache uses: Swatinem/rust-cache@v2 with: prefix-key: 'v1' key: 'macos-latest-aarch64-apple-darwin' workspaces: src-tauri -> target - name: Install Protoc uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Setup Bun uses: oven-sh/setup-bun@v2 with: bun-version: latest - name: Get linked dependency versions id: dep-versions run: | SM_SHA=$(git -C libs/stream-monaco rev-parse HEAD) MS_SHA=$(git -C libs/markstream-vue rev-parse HEAD) echo "cache-key=${{ runner.os }}-aarch64-apple-darwin-linked-deps-${SM_SHA:0:12}-${MS_SHA:0:12}" >> $GITHUB_OUTPUT - name: Cache linked dependencies id: cache-linked-deps uses: actions/cache@v4 with: path: | libs/stream-monaco/node_modules libs/stream-monaco/dist libs/markstream-vue/node_modules libs/markstream-vue/packages/markdown-parser/node_modules libs/markstream-vue/packages/markdown-parser/dist libs/markstream-vue/packages/markstream-react/node_modules libs/markstream-vue/packages/markstream-react/dist key: ${{ steps.dep-versions.outputs.cache-key }} - name: Build linked dependencies if: steps.cache-linked-deps.outputs.cache-hit != 'true' run: | bun --cwd libs/stream-monaco install --frozen-lockfile bun --cwd libs/stream-monaco run build bun --cwd libs/markstream-vue install --frozen-lockfile bun --cwd libs/markstream-vue run build:parser bun --cwd libs/markstream-vue/packages/markstream-react run build - name: Install frontend dependencies run: bun install --frozen-lockfile - name: Build with Tauri uses: tauri-apps/tauri-action@v0 env: NODE_OPTIONS: '--max_old_space_size=4096' GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} APPLE_SIGNING_IDENTITY: '-' with: tagName: ${{ github.ref_name }} releaseName: 'BoosApi ${{ github.ref_name }} (Test)' releaseBody: 'Internal test build for scrollbar fix verification.' releaseDraft: true prerelease: true tauriScript: bun run tauri args: --target aarch64-apple-darwin