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
- 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>
125 lines
2.9 KiB
YAML
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
|