captains-log/.forgejo/workflows/ci.yml
Drew Galbraith 112e563721
Some checks failed
Check / Backend (pull_request) Failing after 28s
Check / Frontend (pull_request) Successful in 1m56s
Forgejo Action: Run npm and cargo commands in the CI.
2025-09-27 01:15:42 -07:00

78 lines
1.8 KiB
YAML

name: Check
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
check-backend:
name: Backend
runs-on: docker
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Install Rust
uses: https://codeberg.org/wackbyte/rust-toolchain@trunk
with:
toolchain: stable
components: rustfmt, clippy
- name: Cache
uses: https://github.com/Swatinem/rust-cache@v2
with:
# Don't cache ~/.cargo/bin since we restore the cache after we install things there
cache-bin: "false"
workspaces: "backend"
- name: "Check Format"
run: cargo fmt --check
- name: "Build"
run: |
# hurl needs libxml needs libclang
apt update && apt install -y clang
cargo build --tests
- name: "Lint"
run: |
rustup component add clippy
cargo clippy
- name: "Unit Tests"
run: |
cargo test -- --skip api
- name: "Integration Tests"
run: cargo test --test api
check-frontend:
name: Frontend
runs-on: docker
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
cache: "npm"
cache-dependency-path: 'frontend/package-lock.json'
node-version: '20'
- name: Install dependencies
run: npm ci
working-directory: frontend
- name: Check Format
run: "npm run format:check"
working-directory: frontend
- name: Lint
run: npm run lint
working-directory: frontend
- name: Typecheck
run: npm run typecheck || echo "Failed"
working-directory: frontend
- name: Test
run: npm run test
working-directory: frontend