Skip to content

chore(release): bump version to 0.6.1 #154

chore(release): bump version to 0.6.1

chore(release): bump version to 0.6.1 #154

Workflow file for this run

name: CI
permissions:
contents: read
pull-requests: read
on:
push:
branches: [main]
paths-ignore:
- 'docs/**'
- '**/*.md'
- 'LICENSE'
- '.github/workflows/claude*.yml'
- '.github/workflows/release.yml'
- '.github/workflows/perf-nightly.yml'
- 'scripts/**'
pull_request:
branches: [main]
# Cancel in-progress runs for the same branch/PR — saves massive minutes
# on rapid-fire push days (e.g. 94 pushes on Mar 11)
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
changes:
name: Detect Changes
runs-on: ubuntu-latest
outputs:
rust: ${{ steps.filter.outputs.rust }}
frontend: ${{ steps.filter.outputs.frontend }}
api_routes: ${{ steps.filter.outputs.api_routes }}
api_integration: ${{ steps.filter.outputs.api_integration }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
rust:
- 'crates/**'
- 'Cargo.toml'
- 'Cargo.lock'
frontend:
- 'frontend/**'
api_routes:
- 'crates/api/src/routes/**'
api_integration:
- 'crates/api/tests/api_integration.rs'
api-scope-guard:
name: API Scope Guard
needs: changes
if: needs.changes.outputs.api_routes == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Ensure API route changes include integration test updates
env:
API_ROUTES_CHANGED: ${{ needs.changes.outputs.api_routes }}
API_INTEGRATION_CHANGED: ${{ needs.changes.outputs.api_integration }}
run: ./scripts/check-pr-scope.sh
# Single Rust job: fmt + clippy + test (eliminates duplicate checkout/setup/cache)
rust:
name: Rust
needs: changes
if: needs.changes.outputs.rust == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: sudo apt-get install -y zlib1g-dev
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Cache cargo
uses: Swatinem/rust-cache@v2
- name: Check formatting
run: cargo fmt --all -- --check
- name: Run clippy
run: cargo clippy --all-targets -- -D warnings
- name: Run tests
run: cargo test --all
env:
CKBADGER_DATA_PATH: /tmp/ckbadger-test-store
# Single Frontend job: lint + type-check + test
frontend:
name: Frontend
needs: changes
if: needs.changes.outputs.frontend == 'true'
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: pnpm
cache-dependency-path: frontend/pnpm-lock.yaml
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Type check
run: pnpm type-check
- name: Lint
run: pnpm lint
- name: Run tests
run: npx vitest run