Compare commits

...

1 commit

Author SHA1 Message Date
706f0deb64 Forgejo Action: Run npm and cargo commands in the CI.
All checks were successful
Check / Backend (pull_request) Successful in 13m58s
Check / Frontend (pull_request) Successful in 1m54s
2025-09-27 01:17:59 -07:00
2 changed files with 84 additions and 1 deletions

83
.forgejo/workflows/ci.yml Normal file
View file

@ -0,0 +1,83 @@
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
working-directory: backend
- name: "Build"
run: |
# hurl needs libxml needs libclang
apt update && apt install -y clang
cargo build --tests
working-directory: backend
- name: "Lint"
run: |
rustup component add clippy
cargo clippy
working-directory: backend
- name: "Unit Tests"
run: |
cargo test -- --skip api
working-directory: backend
- name: "Integration Tests"
run: cargo test --test api
working-directory: backend
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

View file

@ -23,7 +23,7 @@ fmt: fmt-backend fmt-frontend
fmt-check: fmt-check-backend fmt-check-frontend fmt-check: fmt-check-backend fmt-check-frontend
lint: lint-backend lint-frontend lint: lint-backend lint-frontend typecheck-frontend
check: fmt-check lint test check: fmt-check lint test