mirror of
https://github.com/aaif-goose/goose.git
synced 2026-07-03 14:10:03 +02:00
combine the two CI workflows into a single one, skip docs dir
This commit is contained in:
@@ -1,30 +0,0 @@
|
||||
name: Desktop App Lint
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- v1.0
|
||||
pull_request:
|
||||
branches:
|
||||
- v1.0
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- 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: Run Lint check
|
||||
run: npm run lint:check
|
||||
working-directory: ui/desktop
|
||||
@@ -1,103 +0,0 @@
|
||||
name: Rust Build and Test
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- v1.0
|
||||
pull_request:
|
||||
branches:
|
||||
- v1.0
|
||||
|
||||
jobs:
|
||||
format:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
profile: minimal
|
||||
override: true
|
||||
|
||||
- name: check format
|
||||
run: |
|
||||
cargo fmt --check
|
||||
|
||||
build-and-test:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install Libs
|
||||
run: |
|
||||
sudo apt update -y
|
||||
sudo apt install -y libdbus-1-dev gnome-keyring libxcb1-dev
|
||||
|
||||
- name: Start gnome-keyring
|
||||
# run gnome-keyring with 'foobar' as password for the login keyring
|
||||
# this will create a new login keyring and unlock it
|
||||
# the login password doesn't matter, but the keyring must be unlocked for the tests to work
|
||||
run: gnome-keyring-daemon --components=secrets --daemonize --unlock <<< 'foobar'
|
||||
|
||||
- name: Set up Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
profile: minimal
|
||||
override: true
|
||||
|
||||
- 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-
|
||||
|
||||
- name: Install Ollama
|
||||
run: curl -fsSL https://ollama.com/install.sh | sh
|
||||
|
||||
- name: Start Ollama
|
||||
run: |
|
||||
# Run the background, in a way that survives to the next step
|
||||
nohup ollama serve > ollama.log 2>&1 &
|
||||
|
||||
# Block using the ready endpoint
|
||||
time curl --retry 5 --retry-connrefused --retry-delay 1 -sf http://localhost:11434
|
||||
|
||||
- name: Test Ollama model
|
||||
run: ollama run qwen2.5 hello || cat ollama.log
|
||||
|
||||
- name: Build the Rust project
|
||||
run: cargo build
|
||||
|
||||
- name: Run Tests
|
||||
run: cargo test --verbose
|
||||
env:
|
||||
OLLAMA_MODEL: "qwen2.5"
|
||||
|
||||
- name: check lint
|
||||
run: |
|
||||
cargo clippy
|
||||
@@ -0,0 +1,126 @@
|
||||
name: Continuous Integration
|
||||
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
branches:
|
||||
- v1.0
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
branches:
|
||||
- v1.0
|
||||
|
||||
jobs:
|
||||
rust-format:
|
||||
name: Check Rust Code Format
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
profile: minimal
|
||||
override: true
|
||||
|
||||
- name: Run cargo fmt
|
||||
run: cargo fmt --check
|
||||
|
||||
rust-build-and-test:
|
||||
name: Build and Test Rust Project
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
sudo apt update -y
|
||||
sudo apt install -y libdbus-1-dev gnome-keyring libxcb1-dev
|
||||
|
||||
- name: Start gnome-keyring
|
||||
# run gnome-keyring with 'foobar' as password for the login keyring
|
||||
# this will create a new login keyring and unlock it
|
||||
# the login password doesn't matter, but the keyring must be unlocked for the tests to work
|
||||
run: |
|
||||
gnome-keyring-daemon --components=secrets --daemonize --unlock <<< 'foobar'
|
||||
|
||||
- name: Set up Rust
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
profile: minimal
|
||||
override: true
|
||||
|
||||
- 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-
|
||||
|
||||
- name: Install Ollama
|
||||
run: curl -fsSL https://ollama.com/install.sh | sh
|
||||
|
||||
- name: Start Ollama
|
||||
run: |
|
||||
# Run the background, in a way that survives to the next step
|
||||
nohup ollama serve > ollama.log 2>&1 &
|
||||
# Block using the ready endpoint
|
||||
time curl --retry 5 --retry-connrefused --retry-delay 1 -sf http://localhost:11434
|
||||
|
||||
- name: Test Ollama Model
|
||||
run: ollama run qwen2.5 hello || cat ollama.log
|
||||
|
||||
- name: Build Rust Project
|
||||
run: cargo build
|
||||
|
||||
- name: Run Tests
|
||||
run: cargo test --verbose
|
||||
env:
|
||||
OLLAMA_MODEL: "qwen2.5"
|
||||
|
||||
## TODO: Need to decide if we wanna error out on clippy warnings. It was not being used before.
|
||||
# - name: Run Cargo Clippy (Lint)
|
||||
# run: cargo clippy -- -D warnings
|
||||
|
||||
desktop-lint:
|
||||
name: Lint Electron Desktop App
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- 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: Run Lint
|
||||
run: npm run lint:check
|
||||
working-directory: ui/desktop
|
||||
Reference in New Issue
Block a user