Skip to content

perf(dev): skip current setup during just dev #906

perf(dev): skip current setup during just dev

perf(dev): skip current setup during just dev #906

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
CI: "true"
FORCE_COLOR: "1"
jobs:
frontend:
name: Frontend checks and unit tests
runs-on: macos-latest
timeout-minutes: 30
steps:
- name: Check out repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
with:
persist-credentials: false
- name: Activate Hermit
uses: cashapp/activate-hermit@cea9af7913204a965fd488637a8d1811bba2e616 # v1
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build vendored SDK
run: pnpm --filter @aaif/goose-sdk build
- name: Run frontend checks
run: just check
- name: Run unit tests
run: just test
- name: Run release script tests
run: just release-scripts-test
- name: Upload test results
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: frontend-test-results
path: |
coverage/
test-results/
if-no-files-found: ignore
retention-days: 7
rust:
name: Tauri Rust checks (${{ matrix.platform }})
strategy:
fail-fast: false
matrix:
include:
- runner: macos-latest
platform: macOS
- runner: ubuntu-latest
platform: Linux
runs-on: ${{ matrix.runner }}
timeout-minutes: 45
env:
BERD_TAURI_CARGO_TARGET_DIR: ${{ github.workspace }}/src-tauri/target
steps:
- name: Check out repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
with:
persist-credentials: false
- name: Activate Hermit
uses: cashapp/activate-hermit@cea9af7913204a965fd488637a8d1811bba2e616 # v1
- name: Restore Rust cache
uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
with:
workspaces: src-tauri -> target
- name: Install Linux Tauri dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
pkg-config \
libwebkit2gtk-4.1-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev
- name: Check Rust formatting
run: just tauri-fmt-check
- name: Check Tauri and Rust crates
run: just tauri-check
- name: Run Rust tests
run: just tauri-test
- name: Run clippy
run: just clippy
rust-windows:
name: Tauri Rust checks (Windows)
runs-on: windows-latest
timeout-minutes: 60
env:
BERD_TAURI_CARGO_TARGET_DIR: ${{ github.workspace }}/src-tauri/target
CARGO_PROFILE_DEV_DEBUG: "0"
CARGO_PROFILE_TEST_DEBUG: "0"
steps:
- name: Check out repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
with:
persist-credentials: false
- name: Install just
uses: taiki-e/install-action@7f4eb899022d8fe70b20c4f3de697aa85c309026 # v2.85.11
with:
tool: just@1.48.0
- name: Restore Rust cache
uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
with:
workspaces: src-tauri -> target
- name: Run Windows-native Rust tests
shell: powershell
run: just ci-windows
transcript-virtualization:
name: Transcript virtualization
needs: frontend
runs-on: macos-latest
timeout-minutes: 30
steps:
- name: Check out repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
with:
persist-credentials: false
- name: Activate Hermit
uses: cashapp/activate-hermit@cea9af7913204a965fd488637a8d1811bba2e616 # v1
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build vendored SDK
run: pnpm --filter @aaif/goose-sdk build
- name: Install Playwright browser
run: pnpm exec playwright install chromium
- name: Run transcript virtualization tests
run: pnpm test:transcript-virtualization:ci
- name: Upload Playwright results
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: transcript-virtualization-results
path: |
tests/transcript-virtualization/transcript-playwright-report/
test-results/
if-no-files-found: ignore
retention-days: 7
build:
name: Frontend build smoke
needs: frontend
runs-on: macos-latest
timeout-minutes: 30
steps:
- name: Check out repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
with:
persist-credentials: false
- name: Activate Hermit
uses: cashapp/activate-hermit@cea9af7913204a965fd488637a8d1811bba2e616 # v1
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build vendored SDK
run: pnpm --filter @aaif/goose-sdk build
- name: Build frontend
run: just build
- name: Upload frontend build
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: frontend-build
path: dist/
if-no-files-found: error
retention-days: 7