Ldelalande/model settings #17
Workflow file for this run
This file contains 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: Desktop App Build | |
on: | |
pull_request: | |
branches: | |
- v1.0 | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: macos-latest | |
permissions: | |
contents: write | |
pull-requests: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Rust | |
uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Cache Cargo registry | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cargo/registry | |
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ runner.os }}-cargo-registry- | |
- name: Cache Cargo index | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cargo/index | |
key: ${{ runner.os }}-cargo-index | |
restore-keys: | | |
${{ runner.os }}-cargo-index | |
- name: Cache Cargo build | |
uses: actions/cache@v3 | |
with: | |
path: target | |
key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ runner.os }}-cargo-build- | |
# Build Rust Binary | |
- name: Build Release Binary | |
run: cargo build --release | |
- name: copy binary | |
run: cp target/release/goosed ui/desktop/src/bin/goosed | |
- name: Set up Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: 'lts/*' | |
- name: Install dependencies | |
run: npm ci | |
working-directory: ui/desktop | |
- name: Make default Goose App | |
run: | | |
attempt=0 | |
max_attempts=2 | |
until [ $attempt -ge $max_attempts ]; do | |
npm run bundle:default && break | |
attempt=$((attempt + 1)) | |
echo "Attempt $attempt failed. Retrying..." | |
sleep 5 | |
done | |
if [ $attempt -ge $max_attempts ]; then | |
echo "Action failed after $max_attempts attempts." | |
exit 1 | |
fi | |
working-directory: ui/desktop | |
- name: Check app launches | |
run: | | |
# Ensure no quarantine attributes (if needed) | |
xattr -cr "ui/desktop/out/Goose-darwin-arm64/Goose.app" | |
echo "Opening Goose.app..." | |
open -g "ui/desktop/out/Goose-darwin-arm64/Goose.app" | |
# Give the app a few seconds to start and write logs | |
sleep 5 | |
# Check if it's running | |
if pgrep -f "Goose.app/Contents/MacOS/Goose" > /dev/null; then | |
echo "App appears to be running." | |
else | |
echo "App did not stay open. Possible crash or startup error." | |
exit 1 | |
fi | |
LOGFILE="$HOME/Library/Application Support/Goose/logs/main.log" | |
# Print the log and verify "Starting goosed" | |
if [ -f "$LOGFILE" ]; then | |
echo "===== Log file contents =====" | |
cat "$LOGFILE" | |
echo "=============================" | |
# Check for evidence it ran in the logs: | |
if grep -F "ChatWindow loaded" "$LOGFILE"; then | |
echo "Confirmed: 'Starting goosed' found in logs!" | |
else | |
echo "Did not find 'Starting goosed' in logs. Failing..." | |
exit 1 | |
fi | |
else | |
echo "No log file found at $LOGFILE. Exiting with failure." | |
exit 1 | |
fi | |
# Kill the app to clean up | |
pkill -f "Goose.app/Contents/MacOS/Goose" |