Skip to content

Commit

Permalink
combine the two CI workflows into a single one, skip docs dir
Browse files Browse the repository at this point in the history
  • Loading branch information
salman1993 committed Jan 16, 2025
1 parent 4860adb commit 9b901a0
Show file tree
Hide file tree
Showing 4 changed files with 126 additions and 133 deletions.
30 changes: 0 additions & 30 deletions .github/workflows/ci-desktop.yml

This file was deleted.

103 changes: 0 additions & 103 deletions .github/workflows/ci.yaml

This file was deleted.

126 changes: 126 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -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
File renamed without changes.

0 comments on commit 9b901a0

Please sign in to comment.