Files
guru-connect/.gitea/workflows/test.yml
Mike Swanson 5b7cf5fb07
Some checks failed
Build and Test / Build Server (Linux) (push) Has been cancelled
Build and Test / Build Agent (Windows) (push) Has been cancelled
Build and Test / Security Audit (push) Has been cancelled
Build and Test / Build Summary (push) Has been cancelled
Run Tests / Test Server (push) Has been cancelled
Run Tests / Test Agent (push) Has been cancelled
Run Tests / Code Coverage (push) Has been cancelled
Run Tests / Lint and Format Check (push) Has been cancelled
ci: add Gitea Actions workflows and deployment automation
- Add build-and-test workflow for automated builds
- Add deploy workflow for production deployments
- Add test workflow for comprehensive testing
- Add deployment automation script with rollback
- Add version tagging automation
- Add Gitea Actions runner installation script

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-18 15:48:20 +00:00

125 lines
2.9 KiB
YAML

name: Run Tests
on:
push:
branches:
- main
- develop
- 'feature/**'
pull_request:
jobs:
test-server:
name: Test Server
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: x86_64-unknown-linux-gnu
components: rustfmt, clippy
- name: Cache Cargo dependencies
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-test-${{ hashFiles('server/Cargo.lock') }}
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y pkg-config libssl-dev protobuf-compiler
- name: Run unit tests
run: |
cd server
cargo test --lib --release
- name: Run integration tests
run: |
cd server
cargo test --test '*' --release
- name: Run doc tests
run: |
cd server
cargo test --doc --release
test-agent:
name: Test Agent
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Run agent tests
run: |
cd agent
cargo test --release
code-coverage:
name: Code Coverage
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: llvm-tools-preview
- name: Install tarpaulin
run: cargo install cargo-tarpaulin
- name: Generate coverage report
run: |
cd server
cargo tarpaulin --out Xml --output-dir ../coverage
- name: Upload coverage to artifact
uses: actions/upload-artifact@v3
with:
name: coverage-report
path: coverage/
lint:
name: Lint and Format Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
components: rustfmt, clippy
- name: Check formatting (server)
run: cd server && cargo fmt --all -- --check
- name: Check formatting (agent)
run: cd agent && cargo fmt --all -- --check
- name: Run clippy (server)
run: cd server && cargo clippy --all-targets --all-features -- -D warnings
- name: Run clippy (agent)
run: cd agent && cargo clippy --all-targets --all-features -- -D warnings